JaKooLit / Arch-Hyprland

For automated installation of Hyprland on Arch or any arch based distros
GNU General Public License v3.0
1.27k stars 106 forks source link

[Bug]: hyprlock didn't get installed correctly, script underestimates severity #111

Closed ashebanow closed 1 month ago

ashebanow commented 1 month ago

Bug Report

Description

Regardless of how I invoke screenlock (via hypridle, or via the waybar's logout menu, or via the SUPER-ALT-L), hyprlock never gets invoked. Digging into it, it turns out hyprlock wasn't installed correctly by the install script.

The error was there in the logs, but I failed to see it because it was buried. Having your lock screen not come up is a serious security issue, so the script should have either:

a) aborted immediately b) continued, but call out the errors very loudly at the time AND at the end of the script so people are sure to see it.

I dug in the logs, and the error looks to have been either an intermittent bug in the arch package or a networking issue.

Installing hyprlock ...
Sync Explicit (1): hyprlock-0.3.0-1
Sync Explicit (1): hyprlock-0.3.0-1
resolving dependencies...
resolving dependencies...
looking for conflicting packages...
looking for conflicting packages...

Package (1)     New Version  Net Change  Download Size

extra/hyprlock  0.3.0-1        0.37 MiB       0.15 MiB

Total Download Size:   0.15 MiB
Total Installed Size:  0.37 MiB

:: Proceed with installation? [Y/n] 
Package (1)     New Version  Net Change  Download Size

extra/hyprlock  0.3.0-1        0.37 MiB       0.15 MiB

Total Download Size:   0.15 MiB
Total Installed Size:  0.37 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...

:: Retrieving packages...
 hyprlock-0.3.0-1-x86_64 downloading...
error: failed retrieving file 'hyprlock-0.3.0-1-x86_64.pkg.tar.zst.sig' from arch.jsc.mx : The requested URL returned error: 520
warning: failed to retrieve some files
error: failed to commit transaction (failed to retrieve some files)
 hyprlock-0.3.0-1-x86_64 downloading...
error: failed retrieving file 'hyprlock-0.3.0-1-x86_64.pkg.tar.zst.sig' from arch.jsc.mx : The requested URL returned error: 520
warning: failed to retrieve some files
error: failed to commit transaction (failed to retrieve some files)
Errors occurred, no packages were upgraded.
Errors occurred, no packages were upgraded.
 -> error installing repo packages
 -> error installing repo packages
[ERROR](B hyprlock failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(

Steps to Reproduce

[1] not sure exactly. How do you make the pacman install fail on purpose?

Expected Behavior

Because this leaves your machine completely unprotected from passers by, the install script should scream bloody murder if the install of a critical component like hyprlock fails. One solution would be to add a small test at the end of install.sh on hyprland, hyprlock, hypridle, and all the other critical pieces of the hypr ecosystem were present. I believe the My Linux For Work dotfiles have such a check that you could look at.

Actual Behavior

The script told me at the end that it was successful, so I didn't dig deep in the logs.

Screenshots

[If applicable, add screenshots to help explain your problem.]

Environment

Output of inxi -CGIsSMnr:

System:
  Host: limon Kernel: 6.9.9-arch1-1 arch: x86_64 bits: 64
  Desktop: Hyprland v: 0.41.2 Distro: EndeavourOS
Machine:
  Type: Desktop System: EK Cooling Solutions product: 275 Vanquish v: N/A
    serial: <superuser required>
  Mobo: ASUSTeK model: PRIME X570-PRO v: Rev X.0x
    serial: <superuser required> UEFI: American Megatrends v: 4403
    date: 04/27/2022
CPU:
  Info: 12-core model: AMD Ryzen 9 5900X bits: 64 type: MT MCP cache:
    L2: 6 MiB
  Speed (MHz): avg: 2807 min/max: 2200/5619 cores: 1: 4199 2: 2200 3: 2200
    4: 2200 5: 2200 6: 2200 7: 4200 8: 2200 9: 4200 10: 2200 11: 2200 12: 2200
    13: 4190 14: 2200 15: 2800 16: 2200 17: 2200 18: 2200 19: 4200 20: 4200
    21: 2200 22: 2200 23: 4200 24: 2200
Graphics:
  Device-1: NVIDIA GA102 [GeForce RTX 3080 Ti] driver: nvidia v: 555.58.02
  Device-2: Logitech Webcam C930e driver: snd-usb-audio,uvcvideo type: USB
  Display: wayland server: X.Org v: 24.1.1 with: Xwayland v: 24.1.1
    compositor: Hyprland v: 0.41.2 driver: X: loaded: nvidia
    unloaded: modesetting gpu: nvidia,nvidia-nvswitch
    resolution: 3840x2160~60Hz
  API: EGL v: 1.5 drivers: nvidia,swrast,zink
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 555.58.02
    renderer: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2
Network:
  Device-1: Intel Ethernet 10G X550T driver: ixgbe
  IF: enp5s0 state: up speed: 10000 Mbps duplex: full mac: a0:36:9f:f2:d4:2e
  Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: N/A
  Device-3: Intel I211 Gigabit Network driver: igb
  IF: enp7s0 state: down mac: 24:4b:fe:5c:d1:07
  IF-ID-1: docker0 state: down mac: 02:42:65:1a:9b:b6
Sensors:
  System Temperatures: cpu: 39.0 C mobo: 43.0 C
  Fan Speeds (rpm): N/A
Repos:
  Active pacman repo servers in: /etc/pacman.d/endeavouros-mirrorlist
    1: https://mirrors.gigenet.com/endeavouros/repo/$repo/$arch
    2: https://www.miraa.jp/endeavouros/repo/$repo/$arch
    3: https://mirror.archlinux.tw/EndeavourOS/repo/$repo/$arch
    4: https://mirror.moson.org/endeavouros/repo/$repo/$arch
    5: https://mirror.funami.tech/endeavouros/repo/$repo/$arch
    6: https://mirror.accum.se/mirror/endeavouros/repo/$repo/$arch
    7: https://md.mirrors.hacktegic.com/endeavouros/repo/$repo/$arch
    8: https://ftp.belnet.be/mirror/endeavouros/repo/$repo/$arch
    9: https://mirror.alpix.eu/endeavouros/repo/$repo/$arch
    10: https://mirrors.nxtgen.com/endeavouros-mirror/repo/$repo/$arch
    [removed for clarity]
  Active pacman repo servers in: /etc/pacman.d/mirrorlist
    1: https://arch.jsc.mx/$repo/os/$arch
    2: http://mirrors.xtom.com/archlinux/$repo/os/$arch
    3: https://mirrors.marquitos.space/archlinux/$repo/os/$arch
    4: http://opencolo.mm.fcix.net/archlinux/$repo/os/$arch
    5: http://mirrors.marquitos.space/archlinux/$repo/os/$arch
    6: http://ca.mirrors.cicku.me/archlinux/$repo/os/$arch
    7: https://opencolo.mm.fcix.net/archlinux/$repo/os/$arch
    8: https://codingflyboy.mm.fcix.net/archlinux/$repo/os/$arch
    9: http://mirror.fcix.net/archlinux/$repo/os/$arch
    10: https://us.mirrors.cicku.me/archlinux/$repo/os/$arch
    [removed for clarity]
Info:
  Memory: total: 32 GiB available: 31.25 GiB used: 3.76 GiB (12.0%)
  Processes: 426 Uptime: 1d 18h 8m Shell: Zsh inxi: 3.3.35

Additional Information

JaKooLit commented 1 month ago

if hyprlock not installed, you can install it manually

sudo pacman -S hyprlock

or install the -git version

yay -S hyprlock-git

if you are using paru paru -S hyprlock-git

after installing,

try running hyprlock on tty to see if any errors

ashebanow commented 1 month ago

Oh, that was easy to fix, took care of it right away.

What I'm talking about here is that the script failed and left me in an insecure state at the end. A simple test to make sure your key apps are in fact installed would go a long way to addressing this.

On Sat, Jul 20, 2024 at 8:20 PM Ja.KooLit @.***> wrote:

if hyprlock not installed, you can install it manually

sudo pacman -S hyprlock

or install the -git version

yay -S hyprlock-git

if you are using paru paru -S hyprlock-git

after installing,

try running hyprlock on tty to see if any errors

— Reply to this email directly, view it on GitHub https://github.com/JaKooLit/Arch-Hyprland/issues/111#issuecomment-2241422568, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAACX75A2LWYFUBHZCUYQHDZNMSHVAVCNFSM6AAAAABK7FUT7GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBRGQZDENJWHA . You are receiving this because you authored the thread.Message ID: @.***>