Installing youtube-dl on ubuntu minimal brings in far too many extraneous dependencies

Bug #1774728 reported by Hayden
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
youtube-dl (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Ubuntu 18.04 Bionic
Ubuntu 18.10 Cosmic

Expected results:

sudo apt-get install youtube-dl will install a reasonable number of dependencies for a terminal-based application on a minimal ubuntu installation.

Actual results:

sudo apt-get install youtube-dl suggests a number of extraneous dependencies.

There should be no need for adwaita-icon-theme, qt5-gtk-platformtheme, and libxrandr2 on a machine with no X.

See:

hayden@t470s:~$ sudo apt-get install youtube-dl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  adwaita-icon-theme at-spi2-core avahi-daemon cpp cpp-7 dconf-gsettings-backend dconf-service ffmpeg fontconfig
  fontconfig-config fonts-dejavu-core gcc-7-base geoclue-2.0 glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas gstreamer1.0-plugins-base gtk-update-icon-cache
  hicolor-icon-theme humanity-icon-theme i965-va-driver iio-sensor-proxy libaacs0 libasound2 libasound2-data libass9
  libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libauthen-sasl-perl libavahi-client3
  libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libavcodec57 libavdevice57
  libavfilter6 libavformat57 libavresample3 libavutil55 libbdplus0 libbluray2 libbrotli1 libbs2b0 libcaca0
  libcairo-gobject2 libcairo2 libcdio-cdda2 libcdio-paranoia2 libcdio17 libcdparanoia0 libchromaprint1 libcolord2
  libcroco3 libcrystalhd3 libcups2 libdaemon0 libdata-dump-perl libdatrie1 libdc1394-22 libdconf1
  libdouble-conversion1 libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdvdnav4 libdvdread4
  libegl-mesa0 libegl1 libencode-locale-perl libepoxy0 libevdev2 libfftw3-double3 libfile-basedir-perl
  libfile-desktopentry-perl libfile-listing-perl libfile-mimeinfo-perl libflac8 libflite1 libfont-afm-perl
  libfontconfig1 libfontenc1 libgbm1 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgeoclue-2-0
  libgl1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgme0 libgomp1 libgraphite2-3
  libgsm1 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0
  libharfbuzz0b libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl
  libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhyphen0
  libice6 libiec61883-0 libinput-bin libinput10 libio-html-perl libio-socket-ssl-perl libipc-system-simple-perl
  libisl19 libjack-jackd2-0 libjansson4 libjbig0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common
  liblcms2-2 libldb1 libllvm6.0 liblua5.2-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl
  libmbim-glib4 libmbim-proxy libmm-glib0 libmp3lame0 libmpc3 libmpg123-0 libmtdev1 libmysofa0 libnet-dbus-perl
  libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnl-3-200 libnl-genl-3-200 libnorm1 libnss-mdns libogg0
  libopenal-data libopenal1 libopenjp2-7 libopenmpt0 libopus0 liborc-0.4-0 libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpciaccess0 libpcsclite1 libpgm-5.2-0 libpixman-1-0 libpostproc54 libproxy1v5 libpulse0
  libpython2.7 libpython2.7-minimal libpython2.7-stdlib libqmi-glib5 libqmi-proxy libqt5core5a libqt5dbus5 libqt5gui5
  libqt5network5 libqt5positioning5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sensors5 libqt5svg5
  libqt5webchannel5 libqt5webkit5 libqt5widgets5 libraw1394-11 librest-0.7-0 librsvg2-2 librsvg2-common librubberband2
  libsamplerate0 libsdl2-2.0-0 libsensors4 libshine3 libsm6 libsmbclient libsnappy1v5 libsndfile1 libsndio6.1
  libsodium23 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspeex1 libssh-gcrypt-4 libswresample2 libswscale4 libtalloc2
  libtdb1 libtevent0 libthai-data libthai0 libtheora0 libtie-ixhash-perl libtiff5 libtimedate-perl libtry-tiny-perl
  libtwolame0 libuchardet0 liburi-perl libva-drm2 libva-wayland2 libva-x11-2 libva2 libvdpau1 libvisual-0.4-0
  libvorbis0a libvorbisenc2 libvorbisfile3 libvpx5 libwacom-bin libwacom-common libwacom2 libwavpack1
  libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libwbclient0 libwebp6 libwebpmux3 libwoff1
  libwww-perl libwww-robotrules-perl libx11-protocol-perl libx11-xcb1 libx264-152 libx265-151 libxaw7 libxcb-dri2-0
  libxcb-dri3-0 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0
  libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0
  libxcb-xinerama0 libxcb-xkb1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxi6 libxinerama1
  libxkbcommon-x11-0 libxkbcommon0 libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl libxmu6 libxpm4
  libxrandr2 libxrender1 libxshmfence1 libxss1 libxt6 libxtst6 libxv1 libxvidcore4 libxxf86dga1 libxxf86vm1 libzmq5
  libzvbi-common libzvbi0 mesa-va-drivers mesa-vdpau-drivers modemmanager mpv perl-openssl-defaults phantomjs
  python-talloc python3-pyxattr qt5-gtk-platformtheme qttranslations5-l10n rtmpdump samba-libs ubuntu-mono
  usb-modeswitch usb-modeswitch-data va-driver-all vdpau-driver-all wpasupplicant x11-common x11-utils
  x11-xserver-utils xdg-utils
Suggested packages:
  avahi-autoipd cpp-doc gcc-7-locales ffmpeg-doc gvfs i965-va-driver-shaders libasound2-plugins alsa-utils
  libdigest-hmac-perl libgssapi-perl libbluray-bdj colord firmware-crystalhd cups-common libdvdcss2 libfftw3-bin
  libfftw3-dev libvisual-0.4-plugins gstreamer1.0-tools jackd2 liblcms2-utils libcrypt-ssleay-perl avahi-autoipd
  | zeroconf libportaudio2 opus-tools pcscd pulseaudio qt5-image-formats-plugins qtwayland5 qt5-qmltooling-plugins
  libraw1394-doc librsvg2-bin lm-sensors sndiod speex libauthen-ntlm-perl libunicode-map8-perl libunicode-string-perl
  xml-twig-tools python3-pyxattr-dbg python-pyxattr-doc comgt wvdial libvdpau-va-gl1 nvidia-vdpau-driver
  nvidia-legacy-340xx-vdpau-driver wpagui libengine-pkcs11-openssl mesa-utils nickle cairo-5c xorg-docs-core
The following NEW packages will be installed:
  adwaita-icon-theme at-spi2-core avahi-daemon cpp cpp-7 dconf-gsettings-backend dconf-service ffmpeg fontconfig
  fontconfig-config fonts-dejavu-core gcc-7-base geoclue-2.0 glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas gstreamer1.0-plugins-base gtk-update-icon-cache
  hicolor-icon-theme humanity-icon-theme i965-va-driver iio-sensor-proxy libaacs0 libasound2 libasound2-data libass9
  libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libauthen-sasl-perl libavahi-client3
  libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libavcodec57 libavdevice57
  libavfilter6 libavformat57 libavresample3 libavutil55 libbdplus0 libbluray2 libbrotli1 libbs2b0 libcaca0
  libcairo-gobject2 libcairo2 libcdio-cdda2 libcdio-paranoia2 libcdio17 libcdparanoia0 libchromaprint1 libcolord2
  libcroco3 libcrystalhd3 libcups2 libdaemon0 libdata-dump-perl libdatrie1 libdc1394-22 libdconf1
  libdouble-conversion1 libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdvdnav4 libdvdread4
  libegl-mesa0 libegl1 libencode-locale-perl libepoxy0 libevdev2 libfftw3-double3 libfile-basedir-perl
  libfile-desktopentry-perl libfile-listing-perl libfile-mimeinfo-perl libflac8 libflite1 libfont-afm-perl
  libfontconfig1 libfontenc1 libgbm1 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgeoclue-2-0
  libgl1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgme0 libgomp1 libgraphite2-3
  libgsm1 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0
  libharfbuzz0b libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl
  libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhyphen0
  libice6 libiec61883-0 libinput-bin libinput10 libio-html-perl libio-socket-ssl-perl libipc-system-simple-perl
  libisl19 libjack-jackd2-0 libjansson4 libjbig0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common
  liblcms2-2 libldb1 libllvm6.0 liblua5.2-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl
  libmbim-glib4 libmbim-proxy libmm-glib0 libmp3lame0 libmpc3 libmpg123-0 libmtdev1 libmysofa0 libnet-dbus-perl
  libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnl-3-200 libnl-genl-3-200 libnorm1 libnss-mdns libogg0
  libopenal-data libopenal1 libopenjp2-7 libopenmpt0 libopus0 liborc-0.4-0 libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpciaccess0 libpcsclite1 libpgm-5.2-0 libpixman-1-0 libpostproc54 libproxy1v5 libpulse0
  libpython2.7 libpython2.7-minimal libpython2.7-stdlib libqmi-glib5 libqmi-proxy libqt5core5a libqt5dbus5 libqt5gui5
  libqt5network5 libqt5positioning5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sensors5 libqt5svg5
  libqt5webchannel5 libqt5webkit5 libqt5widgets5 libraw1394-11 librest-0.7-0 librsvg2-2 librsvg2-common librubberband2
  libsamplerate0 libsdl2-2.0-0 libsensors4 libshine3 libsm6 libsmbclient libsnappy1v5 libsndfile1 libsndio6.1
  libsodium23 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspeex1 libssh-gcrypt-4 libswresample2 libswscale4 libtalloc2
  libtdb1 libtevent0 libthai-data libthai0 libtheora0 libtie-ixhash-perl libtiff5 libtimedate-perl libtry-tiny-perl
  libtwolame0 libuchardet0 liburi-perl libva-drm2 libva-wayland2 libva-x11-2 libva2 libvdpau1 libvisual-0.4-0
  libvorbis0a libvorbisenc2 libvorbisfile3 libvpx5 libwacom-bin libwacom-common libwacom2 libwavpack1
  libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libwbclient0 libwebp6 libwebpmux3 libwoff1
  libwww-perl libwww-robotrules-perl libx11-protocol-perl libx11-xcb1 libx264-152 libx265-151 libxaw7 libxcb-dri2-0
  libxcb-dri3-0 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0
  libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0
  libxcb-xinerama0 libxcb-xkb1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxi6 libxinerama1
  libxkbcommon-x11-0 libxkbcommon0 libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl libxmu6 libxpm4
  libxrandr2 libxrender1 libxshmfence1 libxss1 libxt6 libxtst6 libxv1 libxvidcore4 libxxf86dga1 libxxf86vm1 libzmq5
  libzvbi-common libzvbi0 mesa-va-drivers mesa-vdpau-drivers modemmanager mpv perl-openssl-defaults phantomjs
  python-talloc python3-pyxattr qt5-gtk-platformtheme qttranslations5-l10n rtmpdump samba-libs ubuntu-mono
  usb-modeswitch usb-modeswitch-data va-driver-all vdpau-driver-all wpasupplicant x11-common x11-utils
  x11-xserver-utils xdg-utils youtube-dl
0 upgraded, 326 newly installed, 0 to remove and 0 not upgraded.
Need to get 123 MB of archives.
After this operation, 623 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Tags: bionic cosmic
tags: added: bionic cosmic
Revision history for this message
Marcin Gałązka (hipnoizz) wrote :

I can confirm this behaviour on Ubuntu 18.04.1, minimal installation. When I tried to install Lollypop music player from PPA (https://launchpad.net/~gnumdk/+archive/ubuntu/lollypop) I got this

The following additional packages will be installed:
  ffmpeg gir1.2-totemplparser-1.0 i965-va-driver libaacs0 libass9 libavcodec57
  libavdevice57 libavfilter6 libavformat57 libavresample3 libavutil55
  libbdplus0 libbluray2 libbrotli1 libbs2b0 libchromaprint1 libcrystalhd3
  libdc1394-22 libdouble-conversion1 libdvdnav4 libdvdread4 libflite1 libgme0
  libgsm1 liblua5.2-0 libmysofa0 libnorm1 libopenal-data libopenal1
  libopenjp2-7 libopenmpt0 libpgm-5.2-0 libpostproc54 libqt5core5a libqt5dbus5
  libqt5gui5 libqt5network5 libqt5positioning5 libqt5printsupport5 libqt5qml5
  libqt5quick5 libqt5sensors5 libqt5svg5 libqt5webchannel5 libqt5webkit5
  libqt5widgets5 librubberband2 libsdl2-2.0-0 libshine3 libsnappy1v5
  libsndio6.1 libsoxr0 libssh-gcrypt-4 libswresample2 libswscale4 libuchardet0
  libva-drm2 libva-wayland2 libva-x11-2 libva2 libvdpau1 libwoff1 libx264-152
  libx265-146 libxcb-xinerama0 libxvidcore4 libzmq5 libzvbi-common libzvbi0
  lollypop-portal mesa-va-drivers mesa-vdpau-drivers mpv phantomjs python3-bs4
  python3-html5lib python3-lxml python3-pylast python3-pyxattr
  python3-webencodings qt5-gtk-platformtheme qttranslations5-l10n rtmpdump
  va-driver-all vdpau-driver-all youtube-dl

Almost all (or maybe even all) dependencies here are because of the youtube-dl package. Ultimately I did a workaround by installing Lollypop without recommended dependencies (youtube-dl being of them). I'm not sure how I can I display a dependency tree, I suspect that pulling the ffmpeg package is one of the reason. Though why all these QT5 deps are here I have not idea.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in youtube-dl (Ubuntu):
status: New → Confirmed
Revision history for this message
Unit 193 (unit193) wrote :

Howdy,

You can try to use `apt install --no-install-recommends youtube-dl` to solve the issue of too many packages being pulled in. As noted in a bug in Debian[0], mpv/mplayer are recommended as one of them is needed in order to obtain rtsp streams.

[0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881326

Changed in youtube-dl (Ubuntu):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.