WPCloudDeploy / wp-cloud-deploy

WPCloudDeploy is a WordPress plugin that allows you to easily deploy and manage your own dedicated high-performance WordPress servers and sites at any cloud server provider.
https://wpclouddeploy.com
Other
87 stars 37 forks source link

Please use update-notifier-common instead of update-notifier package #56

Closed batonac closed 1 year ago

batonac commented 1 year ago

The update-notifier package requires a slew of gnome and desktop-like dependencies, adding a host of bloat and lag to the servers and install process. The actual command used by WPCD is /usr/lib/update-notifier/apt-check which is actually provided by the much less taxing update-notifier-common package.

Here's what I get when asking for update-notifier on a minimal ubuntu image:

The following NEW packages will be installed:
  accountsservice acl adwaita-icon-theme alsa-topology-conf alsa-ucm-conf apg apport apport-gtk apport-symptoms aptdaemon aptdaemon-data at-spi2-core avahi-daemon
  avahi-utils bind9-host bind9-libs bluez bolt bsdextrautils bubblewrap cheese-common colord colord-data cpp cpp-11 cracklib-runtime cups-pk-helper dconf-cli
  dconf-gsettings-backend dconf-service desktop-file-utils distro-info dmidecode dns-root-data dnsmasq-base docbook-xml dosfstools eject evolution-data-server
  evolution-data-server-common fdisk file fontconfig fuse3 gcc-11-base gcr gdb gdisk gdm3 gedit gedit-common geoclue-2.0 gettext-base gir1.2-accountsservice-1.0
  gir1.2-adw-1 gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-freedesktop gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdesktopenums-3.0 gir1.2-gdkpixbuf-2.0 gir1.2-gdm-1.0
  gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-3.0 gir1.2-gnomedesktop-3.0 gir1.2-goa-1.0 gir1.2-graphene-1.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-gtk-4.0
  gir1.2-gtksource-4 gir1.2-gweather-3.0 gir1.2-handy-1 gir1.2-harfbuzz-0.0 gir1.2-ibus-1.0 gir1.2-javascriptcoregtk-4.0 gir1.2-json-1.0 gir1.2-mutter-10
  gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-notify-0.7 gir1.2-pango-1.0 gir1.2-peas-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-secret-1 gir1.2-snapd-1 gir1.2-soup-2.4
  gir1.2-upowerglib-1.0 gir1.2-vte-2.91 gir1.2-webkit2-4.0 gir1.2-wnck-3.0 gkbd-capplet glib-networking glib-networking-common glib-networking-services
  gnome-bluetooth-3-common gnome-bluetooth-common gnome-control-center gnome-control-center-data gnome-control-center-faces gnome-desktop3-data gnome-keyring
  gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-remote-desktop gnome-session-bin gnome-session-common gnome-settings-daemon
  gnome-settings-daemon-common gnome-shell gnome-shell-common gnome-startup-applications gnome-terminal gnome-terminal-data gnome-user-docs groff-base
  gsettings-desktop-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-pipewire gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x
  gtk-update-icon-cache gvfs gvfs-common gvfs-daemons gvfs-libs hicolor-icon-theme humanity-icon-theme ibus ibus-data ibus-gtk ibus-gtk3 ibus-gtk4 iio-sensor-proxy
  im-config ipp-usb isc-dhcp-client isc-dhcp-common keyboard-configuration kmod language-selector-common language-selector-gnome libaa1 libabsl20210324
  libaccountsservice0 libadwaita-1-0 libarchive13 libasound2 libasound2-data libasound2-plugins libasyncns0 libatasmart4 libatk-bridge2.0-0 libatk1.0-0
  libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libayatana-appindicator3-1
  libayatana-ido3-0.4-0 libayatana-indicator3-7 libbabeltrace1 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2
  libblockdev-swap2 libblockdev-utils2 libblockdev2 libbluetooth3 libboost-regex1.74.0 libc6-dbg libcaca0 libcairo-gobject-perl libcairo-gobject2 libcairo-perl
  libcairo-script-interpreter2 libcairo2 libcamel-1.2-63 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcdparanoia0 libcheese-gtk25
  libcheese8 libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord-gtk1
  libcolord2 libcolorhug2 libcrack2 libcups2 libdaemon0 libdatrie1 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libdebuginfod-common libdebuginfod1
  libdns-export1110 libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libdv4 libebackend-1.2-10 libebook-1.2-20
  libebook-contacts-1.2-3 libecal-2.0-1 libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-26 libedataserverui-1.2-3 libegl-mesa0 libegl1 libepoxy0 libevdev2
  libexif12 libextutils-depends-perl libfdisk1 libfftw3-single3 libflac8 libfontenc1 libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp2-2 libfribidi0 libfuse3-3
  libgail-common libgail18 libgbm1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgdata-common libgdata22 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin
  libgdk-pixbuf2.0-common libgdm1 libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgl1 libgl1-amber-dri libgl1-mesa-dri libglapi-mesa libgles2
  libglib-object-introspection-perl libglib-perl libglvnd0 libglx-mesa0 libglx0 libgnome-autoar-0-0 libgnome-bluetooth-3.0-13 libgnome-bluetooth13
  libgnome-desktop-3-19 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1 libgomp1 libgpgme11 libgphoto2-6 libgphoto2-l10n
  libgphoto2-port12 libgpm2 libgraphene-1.0-0 libgraphite2-3 libgsound0 libgspell-1-2 libgspell-1-common libgssdp-1.2-0 libgstreamer-gl1.0-0
  libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-4-1 libgtk-4-bin libgtk-4-common libgtk2.0-0
  libgtk2.0-bin libgtk2.0-common libgtk3-perl libgtksourceview-4-0 libgtksourceview-4-common libgtop-2.0-11 libgtop2-common libgudev-1.0-0 libgupnp-1.2-1
  libgupnp-av-1.0-3 libgupnp-dlna-2.0-4 libgusb2 libgweather-3-16 libgweather-common libhandy-1-0 libharfbuzz-icu0 libharfbuzz0b libhyphen0 libibus-1.0-5 libical3
  libice6 libiec61883-0 libieee1284-3 libimobiledevice6 libinput-bin libinput10 libipt2 libisc-export1105 libisl23 libjack-jackd2-0 libjansson4
  libjavascriptcoregtk-4.0-18 libjson-glib-1.0-0 libjson-glib-1.0-common liblcms2-2 libldb2 libllvm13 liblmdb0 liblocale-gettext-perl libltdl7 liblzo2-2
  libmanette-0.2-0 libmaxminddb0 libmbim-glib4 libmbim-proxy libmediaart-2.0-0 libmm-glib0 libmozjs-91-0 libmp3lame0 libmpc3 libmpg123-0 libmtdev1 libmutter-10-0
  libnautilus-extension1a libndp0 libnetfilter-conntrack3 libnewt0.52 libnfnetlink0 libnl-3-200 libnl-genl-3-200 libnl-route-3-200 libnm0 libnma-common libnma0
  libnotify4 libnspr4 libnss-mdns libnss3 libntfs-3g89 libogg0 libopengl0 libopenjp2-7 libopus0 liborc-0.4-0 libpam-gnome-keyring libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpangoxft-1.0-0 libparted-fs-resize0 libparted2 libpcap0.8 libpci3 libpciaccess0 libpcsclite1 libpeas-1.0-0 libpeas-common libphonenumber8
  libpipeline1 libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libpixman-1-0 libplist3 libpoppler-glib8 libpoppler118 libprotobuf23 libproxy1v5
  libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality-common libpwquality1 libpython3.10 libqmi-glib5 libqmi-proxy libraw1394-11 librest-0.7-0 librsvg2-2
  librsvg2-common librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2 libsamplerate0 libsane-common libsane1 libsbc1 libsecret-1-0
  libsecret-common libsensors-config libsensors5 libshout3 libslang2 libsm6 libsmbclient libsnapd-glib1 libsndfile1 libsnmp-base libsnmp40 libsoup-gnome2.4-1
  libsoup2.4-1 libsoup2.4-common libsource-highlight-common libsource-highlight4v5 libsoxr0 libspa-0.2-modules libspeex1 libspeexdsp1 libstartup-notification0
  libtag1v5 libtag1v5-vanilla libtalloc2 libtcl8.6 libtdb1 libteamdctl0 libtevent0 libthai-data libthai0 libtheora0 libtwolame0 libuchardet0 libudisks2-0
  libupower-glib3 libusb-1.0-0 libusbmuxd6 libuv1 libv4l-0 libv4lconvert0 libvisual-0.4-0 libvncserver1 libvolume-key1 libvorbis0a libvorbisenc2 libvorbisfile3
  libvpx7 libvte-2.91-0 libvte-2.91-common libvulkan1 libwacom-bin libwacom-common libwacom9 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1
  libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebpdemux2 libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwinpr2-2 libwnck-3-0
  libwnck-3-common libwoff1 libx11-xcb1 libxatracker2 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-res0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xkb1 libxcb-xv0
  libxcomposite1 libxcursor1 libxcvt0 libxdamage1 libxext6 libxfixes3 libxfont2 libxft2 libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0 libxkbfile1
  libxkbregistry0 libxklavier16 libxmu6 libxmuu1 libxrandr2 libxrender1 libxres1 libxshmfence1 libxss1 libxt6 libxtst6 libxv1 libxvmc1 libxxf86vm1 libyelp0 locales
  man-db mesa-vulkan-drivers mobile-broadband-provider-info modemmanager mutter-common nautilus-extension-gnome-terminal network-manager network-manager-gnome
  network-manager-pptp ntfs-3g p11-kit p11-kit-modules parted patch pci.ids pciutils pinentry-gnome3 pipewire pipewire-bin pipewire-media-session poppler-data
  power-profiles-daemon ppp pptp-linux pulseaudio pulseaudio-module-bluetooth pulseaudio-utils python3-apport python3-aptdaemon python3-aptdaemon.gtk3widgets
  python3-cairo python3-click python3-colorama python3-cups python3-cupshelpers python3-dateutil python3-debconf python3-debian python3-defer python3-distupgrade
  python3-gi-cairo python3-ibus-1.0 python3-ldb python3-macaroonbakery python3-nacl python3-problem-report python3-protobuf python3-pymacaroons python3-systemd
  python3-talloc python3-update-manager python3-xkit rtkit rygel samba-libs sane-airscan sane-utils session-migration sgml-base sgml-data shared-mime-info
  software-properties-gtk sound-theme-freedesktop switcheroo-control system-config-printer system-config-printer-common system-config-printer-udev tcl tcl8.6
  ubuntu-advantage-desktop-daemon ubuntu-advantage-tools ubuntu-docs ubuntu-drivers-common ubuntu-mono ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk
  ubuntu-session ubuntu-wallpapers ubuntu-wallpapers-jammy udev udisks2 update-inetd update-manager update-manager-core update-notifier update-notifier-common upower
  usb-modeswitch usb-modeswitch-data usb.ids usbmuxd usbutils wamerican whoopsie whoopsie-preferences wireless-regdb wpasupplicant x11-common x11-xkb-utils
  x11-xserver-utils xauth xcvt xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-gtk xfonts-base xfonts-encodings xfonts-utils xkb-data xml-core xserver-common
  xserver-xephyr xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
  xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau
  xserver-xorg-video-qxl xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware xwayland yaru-theme-gnome-shell yelp yelp-xsl zenity
  zenity-common zstd
0 upgraded, 676 newly installed, 0 to remove and 0 not upgraded.
Need to get 267 MB of archives.
After this operation, 958 MB of additional disk space will be used.

In contrast, here's what update-notifier-common requires:

The following NEW packages will be installed:
  distro-info patch python3-debconf python3-debian python3-distupgrade python3-update-manager ubuntu-advantage-tools ubuntu-release-upgrader-core update-manager-core
  update-notifier-common zstd
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 1310 kB of archives.
elindydotcom commented 1 year ago

Ah, yeah, good call - that was silly. Resolved in commit https://github.com/WPCloudDeploy/wp-cloud-deploy/commit/30d95cb61b737928e336744b8c4c83861ab650ea Please give it a whirl and let me know if it fixes the issue for you.

batonac commented 1 year ago

great! the only other thing I would suggest is that you can now remove the note "this can take a while sometimes..." 😏