Git Product home page Git Product logo

nala's People

Contributors

ahoneybun avatar aminya avatar biberino avatar bittin avatar ciro-mota avatar d-brox avatar daphipz avatar emerick-biron avatar fatalmerlin avatar fehlix avatar hugok79 avatar jdtimmerman avatar madanadam avatar marcelocripe avatar mejituu avatar nambuu avatar rus-zhu avatar stephanlachnit avatar ugur-a avatar vjr avatar volitank avatar wizard-28 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nala's Issues

feature request nala should download pkgs with aria2

I dunno why, but apt-fast downloading packages faster than nala, but nala is more intelligent when it comes to pkg formatting and listing and managing for user.

You can consider this maybe as drop in replacements for downloading pkgs.

Like

"nala downloader aria2"
And back default with

"nala downloader default"
Here is apt-fast repo
https://github.com/ilikenwf/apt-fast

And one complain by my side and i saw never open issue correlated with this is:

When we make "nala update", and we have did nala fetch before with 3 or 6 fastest repository servers like 1,2,3,4,5,6
Than,
Nala waiting at cmd nala update untill every repository downloaded successfully - but this cost time and this is unnecessary.

User experience is one of most important part when someone using nala.

So fetching only one repository fast and trying to download with aria2 as example from 6 different repositories would speed up nala update and nala upgrade procedure and user experience.

Thanks and

Best regards

Bug? : Depending issue when installing some packages

When I try to install podman in debian 12, nala try to install such packages:

============================================================================================================================================================================================================================================
 Installing                                                                                                                                                                                                                                 
============================================================================================================================================================================================================================================
  Package:                                                                      Version:                                                                                                                                             Size:  
  aardvark-dns                                                                  1.4.0-3                                                                                                                                             767 KB  
  buildah                                                                       1.28.2+ds1-3+b1                                                                                                                                     6.1 MB  
  catatonit                                                                     0.1.7-1+b1                                                                                                                                          264 KB  
  cgroupfs-mount                                                                1.4                                                                                                                                                   6 KB  
  conmon                                                                        2.1.6+ds1-1                                                                                                                                          38 KB  
  containerd                                                                    1.6.20~ds1-1+b1                                                                                                                                    25.9 MB  
  containernetworking-plugins                                                   1.1.1+ds1-3+b5                                                                                                                                      6.8 MB  
  criu                                                                          3.17.1-2                                                                                                                                            665 KB  
  crun                                                                          1.8.1-1+b1                                                                                                                                          290 KB  
  docker-compose                                                                1.29.2-3                                                                                                                                            123 KB  
  fuse-overlayfs                                                                1.10-1                                                                                                                                               43 KB  
  golang-github-containers-common                                               0.50.1+ds1-4                                                                                                                                         36 KB  
  golang-github-containers-image                                                5.23.1-4                                                                                                                                             32 KB  
  iptables                                                                      1.8.9-2                                                                                                                                             360 KB  
  libintl-perl                                                                  1.33-1                                                                                                                                              720 KB  
  libintl-xs-perl                                                               1.33-1                                                                                                                                               16 KB  
  libip6tc2                                                                     1.8.9-2                                                                                                                                              19 KB  
  libmodule-find-perl                                                           0.16-2                                                                                                                                               11 KB  
  libmodule-scandeps-perl                                                       1.31-2                                                                                                                                               42 KB  
  libnet1                                                                       1.1.6+dfsg-3.2                                                                                                                                       60 KB  
  libprotobuf32                                                                 3.21.12-3                                                                                                                                           932 KB  
  libslirp0                                                                     4.7.0-1                                                                                                                                              63 KB  
  libsort-naturally-perl                                                        1.03-4                                                                                                                                               13 KB  
  libsubid4                                                                     1:4.13+dfsg1-1+b1                                                                                                                                   211 KB  
  needrestart                                                                   3.6-4                                                                                                                                                59 KB  
  netavark                                                                      1.4.0-3                                                                                                                                             1.0 MB  
  podman                                                                        4.3.1+ds1-8+b1                                                                                                                                     10.7 MB  
  podman-docker                                                                 4.3.1+ds1-8+b1                                                                                                                                       19 KB  
  python3-docker                                                                5.0.3-1                                                                                                                                              90 KB  
  python3-dockerpty                                                             0.4.1-4                                                                                                                                              11 KB  
  python3-docopt                                                                0.6.2-4.1                                                                                                                                            26 KB  
  python3-dotenv                                                                0.21.0-1                                                                                                                                             25 KB  
  python3-json-pointer                                                          2.3-2                                                                                                                                                15 KB  
  python3-jsonschema                                                            4.10.3-1                                                                                                                                             68 KB  
  python3-protobuf                                                              3.21.12-3                                                                                                                                           245 KB  
  python3-pyrsistent                                                            0.18.1-1+b3                                                                                                                                          60 KB  
  python3-rfc3987                                                               1.3.8-2                                                                                                                                               9 KB  
  python3-texttable                                                             1.6.7-1                                                                                                                                              12 KB  
  python3-uritemplate                                                           4.1.1-2                                                                                                                                              11 KB  
  python3-webcolors                                                             1.11.1-1                                                                                                                                             13 KB  
  python3-websocket                                                             1.2.3-1                                                                                                                                              40 KB  
  runc                                                                          1.1.5+ds1-1+b1                                                                                                                                      2.7 MB  
  slirp4netns                                                                   1.2.0-1                                                                                                                                              37 KB  
  tini                                                                          0.19.0-1                                                                                                                                            255 KB  
  uidmap                                                                        1:4.13+dfsg1-1+b1                                                                                                                                   189 KB  
                                                                                                                                                                                                                                            
============================================================================================================================================================================================================================================
 Suggested, Will Not Be Installed                                                                                                                                                                                                           
============================================================================================================================================================================================================================================
  Package:                                                                      Version:                                                                                                                                             Size:  
  containers-storage                                                            1.50.2+ds1-2                                                                                                                                        2.3 MB  
  firewalld                                                                     2.0.1-1                                                                                                                                             373 KB  
  containers-storage                                                            1.50.2+ds1-2                                                                                                                                        2.3 MB  
  python-jsonschema-doc                                                         4.10.3-2                                                                                                                                             81 KB  
                                                                                                                                                                                                                                            
============================================================================================================================================================================================================================================
 Summary                                                                                                                                                                                                                                    
============================================================================================================================================================================================================================================
 Install 45 Packages                                                                                                                                                                                                                        
                                                                                                                                                                                                                                            
 Total download size   59.1 MB   
 Disk space required  241.9 MB   

However, firstly, installing podman by apt only gets such 31 paackages:

  aardvark-dns buildah catatonit conmon containernetworking-plugins crun
  docker-compose fuse-overlayfs golang-github-containers-common
  golang-github-containers-image iptables libip6tc2 libslirp0 libsubid4
  netavark podman podman-docker python3-docker python3-dockerpty
  python3-docopt python3-dotenv python3-json-pointer python3-jsonschema
  python3-pyrsistent python3-rfc3987 python3-texttable python3-uritemplate
  python3-webcolors python3-websocket slirp4netns uidmap

Secondly, after installation, the next time I run nala it autoremove some of the packages listed and installed above. The packages remained here is just the same as the packages that apt try to install.

It sounds like that nala have problem solving depends for podman.

Os: debian 12

What I would like to see in nala?

I'd really like to see a confirmation option added when installing packages, e.g. using a command like nala install -y hello should bypass the confirmation.
Additionally, I've noticed that there's no way to cancel a download once it starts. For example, when I tried to install neofetch, I hit Ctrl + C to stop the process, but nala just froze. This forced me to reboot my entire server because it was consuming 100% of the CPU. Having an option to cancel downloads would be incredibly helpful and prevent situations like this.
obraz

Nala stops working

Hello.
Today when I try update system, i get this error:

sudo nala upgrage
Traceback (most recent call last):
  File "/usr/local/bin/nala", line 5, in <module>
    from nala.__main__ import main
  File "/usr/local/lib/python3.10/dist-packages/nala/__main__.py", line 31, in <module>
    import nala.fetch as _fetch  # pylint: disable=unused-import
  File "/usr/local/lib/python3.10/dist-packages/nala/fetch.py", line 36, in <module>
    import typer
  File "/usr/lib/python3/dist-packages/typer/__init__.py", line 5, in <module>
    from click.exceptions import Abort as Abort
  File "/usr/lib/python3/dist-packages/click/__init__.py", line 7, in <module>
    from .core import Argument as Argument
ModuleNotFoundError: No module named 'click.core'

Error $URL 404 Not Found (but apt-get is fine with it)

Hello,
we are using nala on a Debian 12-based system with various apt source files configured. However, we found a problem with nala when adding the apt source config for containerlab.

/etc/apt/source.list.d/apt_fury_io_netdevops.list:

deb [trusted=yes] https://apt.fury.io/netdevops/ /

Running $ nala update throws a bunch of errors:

$ nala update
Error: https://apt.fury.io/netdevops  Packages
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Translation-en
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Translation-en
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Translation-en
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Translation-en
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Translation-en
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Translation-en
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
Error: https://apt.fury.io/netdevops  Contents (deb)
  404  Not Found [IP: 75.101.184.39 443]
╭─ Updating Package List ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│No Change: http://security.debian.org/debian-security bookworm-security InRelease                                                                                                                                                                         │
│No Change: http://deb.debian.org/debian bookworm InRelease                                                                                                                                                                                                │
│No Change: http://deb.debian.org/debian bookworm-updates InRelease                                                                                                                                                                                        │
│No Change: http://deb.debian.org/debian-security bookworm-security InRelease                                                                                                                                                                              │
│No Change: https://download.docker.com/linux/debian bullseye InRelease                                                                                                                                                                                    │
│No Change: https://apt.releases.hashicorp.com jammy InRelease                                                                                                                                                                                             │
│Ignored:   https://apt.fury.io/netdevops  InRelease                                                                                                                                                                                                       │
│No Change: https://deb.volian.org/volian scar InRelease                                                                                                                                                                                                   │
│Ignored:   https://apt.fury.io/netdevops  Release                                                                                                                                                                                                         │
│Updated:   https://apt.fury.io/netdevops  Packages                                                                                                                                                                                                        │
│Ignored:   https://apt.fury.io/netdevops  Translation-en                                                                                                                                                                                                  │
│Ignored:   https://apt.fury.io/netdevops  Contents (deb)                                                                                                                                                                                                  │
│Ignored:   https://apt.fury.io/netdevops  Contents (deb)                                                                                                                                                                                                  │
│Fetched 21 KB in 3s (6.9 KB/s)                                                                                                                                                                                                                            │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

However, apt-get is fine with it:

$ apt-get update
Hit:1 http://security.debian.org/debian-security bookworm-security InRelease
Hit:2 https://download.docker.com/linux/debian bullseye InRelease                                                                                                                                                                                
Hit:3 https://apt.releases.hashicorp.com jammy InRelease                                                                                                                                                                                         
Hit:4 http://deb.debian.org/debian bookworm InRelease                                                                                                                        
Hit:5 http://deb.debian.org/debian bookworm-updates InRelease                                                                                          
Hit:6 http://deb.debian.org/debian-security bookworm-security InRelease                      
Ign:7 https://apt.fury.io/netdevops  InRelease                                               
Hit:8 https://deb.volian.org/volian scar InRelease
Ign:9 https://apt.fury.io/netdevops  Release
Ign:10 https://apt.fury.io/netdevops  Packages
Ign:11 https://apt.fury.io/netdevops  Translation-en
Ign:12 https://apt.fury.io/netdevops  Contents (deb)
Ign:13 https://apt.fury.io/netdevops  Contents (deb)
Get:10 https://apt.fury.io/netdevops  Packages
Ign:11 https://apt.fury.io/netdevops  Translation-en
Ign:12 https://apt.fury.io/netdevops  Contents (deb)
Ign:13 https://apt.fury.io/netdevops  Contents (deb)
Ign:11 https://apt.fury.io/netdevops  Translation-en
Ign:12 https://apt.fury.io/netdevops  Contents (deb)
Ign:13 https://apt.fury.io/netdevops  Contents (deb)
Ign:11 https://apt.fury.io/netdevops  Translation-en
Ign:12 https://apt.fury.io/netdevops  Contents (deb)
Ign:13 https://apt.fury.io/netdevops  Contents (deb)
Ign:11 https://apt.fury.io/netdevops  Translation-en
Ign:12 https://apt.fury.io/netdevops  Contents (deb)
Ign:13 https://apt.fury.io/netdevops  Contents (deb)
Ign:11 https://apt.fury.io/netdevops  Translation-en
Ign:12 https://apt.fury.io/netdevops  Contents (deb)
Ign:13 https://apt.fury.io/netdevops  Contents (deb)
Ign:11 https://apt.fury.io/netdevops  Translation-en
Ign:12 https://apt.fury.io/netdevops  Contents (deb)
Ign:13 https://apt.fury.io/netdevops  Contents (deb)
Fetched 20.8 kB in 3s (6718 B/s)
Reading package lists... Done

Is this a problem with the apt repository of the containerlab or is it a bug/misconfiguration of nala? How can I configure nala to accept the containerlab repository?

Thanks in advance.

`InvalidURL`: Invalid non-printable ASCII character in URL

Summary

Hi, I got InvalidURL: Invalid non-printable ASCII character in URL when I ran sudo nala update && sudo nala dist-upgrade -y.

System

Linux kali 6.5.0-kali3-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.6-1kali1 (2023-10-09) x86_64 GNU/Linux

Output

╭─ Downloading… ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Total Packages: 0/364                                                                                                                                      │
│ Starting Downloads…                                                                                                                                        │
│ Time Remaining: -:--:-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0% • 0.0/229.5 MB • ? │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /usr/lib/python3/dist-packages/nala/nala.py:275 in dist_upgrade                                  │
│                                                                                                  │
│   272 ) -> None:                                                                                 │
│   273 │   """Upgrade alias."""                                                                   │
│   274 │   arguments.full_upgrade = True                                                          │
│ ❱ 275 │   upgrade(                                                                               │
│   276 │   │   exclude,                                                                           │
│   277 │   │   purge,                                                                             │
│   278 │   │   debug,                                                                             │
│                                                                                                  │
│ ╭───────── locals ──────────╮                                                                    │
│ │         assume_yes = None │                                                                    │
│ │        auto_remove = None │                                                                    │
│ │              debug = None │                                                                    │
│ │      download_only = None │                                                                    │
│ │        dpkg_option = []   │                                                                    │
│ │            exclude = []   │                                                                    │
│ │         fix_broken = None │                                                                    │
│ │       full_upgrade = None │                                                                    │
│ │ install_recommends = None │                                                                    │
│ │   install_suggests = None │                                                                    │
│ │           man_help = None │                                                                    │
│ │              purge = None │                                                                    │
│ │           raw_dpkg = None │                                                                    │
│ │   remove_essential = None │                                                                    │
│ │             simple = None │                                                                    │
│ │             update = None │                                                                    │
│ │            verbose = None │                                                                    │
│ ╰───────────────────────────╯                                                                    │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/nala.py:384 in upgrade                                       │
│                                                                                                  │
│   381 │   │   auto_remover(cache, nala_pkgs)                                                     │
│   382 │   │   get_changes(cache, nala_pkgs, "upgrade")                                           │
│   383 │                                                                                          │
│ ❱ 384 │   _upgrade(exclude)                                                                      │
│   385                                                                                            │
│   386                                                                                            │
│   387 @nala.command(help=_("Install packages."))                                                 │
│                                                                                                  │
│ ╭────────────────────────────────── locals ───────────────────────────────────╮                  │
│ │           _upgrade = <function upgrade.<locals>._upgrade at 0x7f82a3363420> │                  │
│ │         assume_yes = None                                                   │                  │
│ │        auto_remove = None                                                   │                  │
│ │              debug = None                                                   │                  │
│ │      download_only = None                                                   │                  │
│ │        dpkg_option = []                                                     │                  │
│ │            exclude = []                                                     │                  │
│ │         fix_broken = None                                                   │                  │
│ │       full_upgrade = None                                                   │                  │
│ │ install_recommends = None                                                   │                  │
│ │   install_suggests = None                                                   │                  │
│ │           man_help = None                                                   │                  │
│ │              purge = None                                                   │                  │
│ │           raw_dpkg = None                                                   │                  │
│ │   remove_essential = None                                                   │                  │
│ │             simple = None                                                   │                  │
│ │             update = None                                                   │                  │
│ │            verbose = None                                                   │                  │
│ ╰─────────────────────────────────────────────────────────────────────────────╯                  │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/nala.py:382 in _upgrade                                      │
│                                                                                                  │
│   379 │   │   │   )                                                                              │
│   380 │   │                                                                                      │
│   381 │   │   auto_remover(cache, nala_pkgs)                                                     │
│ ❱ 382 │   │   get_changes(cache, nala_pkgs, "upgrade")                                           │
│   383 │                                                                                          │
│   384 │   _upgrade(exclude)                                                                      │
│   385                                                                                            │
│                                                                                                  │
│ ╭───────────────────────────────────── locals ──────────────────────────────────────╮            │
│ │     _upgrade = <function upgrade.<locals>._upgrade at 0x7f82a3363420>             │            │
│ │        cache = <nala.cache.Cache object at 0x7f82a3367fb0>                        │            │
│ │         cand = <Version: package:'megasync' version:'4.11.0-3.1'>                 │            │
│ │      exclude = []                                                                 │            │
│ │   is_upgrade = (                                                                  │            │
│ │                │   <Package: name:'accountsservice' architecture='amd64' id:384>, │            │
│ │                │   <Package: name:'adwaita-qt' architecture='amd64' id:700>,      │            │
│ │                │   <Package: name:'apache2' architecture='amd64' id:591>,         │            │
│ │                │   <Package: name:'apache2-bin' architecture='amd64' id:1682>,    │            │
│ │                │   <Package: name:'apache2-utils' architecture='amd64' id:1684>,  │            │
│ │                │   <Package: name:'apparmor' architecture='amd64' id:1969>,       │            │
│ │                │   <Package: name:'aria2' architecture='amd64' id:1492>,          │            │
│ │                │   <Package: name:'aspell' architecture='amd64' id:1094>,         │            │
│ │                │   <Package: name:'at-spi2-core' architecture='amd64' id:3117>,   │            │
│ │                │   <Package: name:'avahi-daemon' architecture='amd64' id:2088>,   │            │
│ │                │   ... +355                                                       │            │
│ │                )                                                                  │            │
│ │ nested_cache = None                                                               │            │
│ │          pkg = <Package: name:'xxd' architecture='amd64' id:10801>                │            │
│ │    protected = set()                                                              │            │
│ │     versions = <VersionList: ['4.11.0-3.1', '4.9.4-3.1']>                         │            │
│ ╰───────────────────────────────────────────────────────────────────────────────────╯            │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/install.py:411 in get_changes                                │
│                                                                                                  │
│    408 │   if arguments.raw_dpkg:                                                                │
│    409 │   │   term.restore_locale()                                                             │
│    410 │                                                                                         │
│ ❱  411 │   download_pkgs(pkgs)                                                                   │
│    412 │   write_history(cache, nala_pkgs, operation)                                            │
│    413 │   start_dpkg(cache, nala_pkgs)                                                          │
│    414                                                                                           │
│                                                                                                  │
│ ╭──────────────────────────────────── locals ────────────────────────────────────╮               │
│ │     cache = <nala.cache.Cache object at 0x7f82a3367fb0>                        │               │
│ │ nala_pkgs = PackageHandler(                                                    │               │
│ │             │   autoremoved={'libappstreamqt2'},                               │               │
│ │             │   user_explicit=[],                                              │               │
│ │             │   local_debs=[],                                                 │               │
│ │             │   not_needed=[],                                                 │               │
│ │             │   delete_pkgs=[],                                                │               │
│ │             │   install_pkgs=[],                                               │               │
│ │             │   reinstall_pkgs=[],                                             │               │
│ │             │   upgrade_pkgs=[                                                 │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='accountsservice',                                │               │
│ │             │   │   │   version='23.13.9-5+b1',                                │               │
│ │             │   │   │   size=89404,                                            │               │
│ │             │   │   │   old_version='23.13.9-5'                                │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='adwaita-qt',                                     │               │
│ │             │   │   │   version='1.4.2-3+b1',                                  │               │
│ │             │   │   │   size=93000,                                            │               │
│ │             │   │   │   old_version='1.4.2-3'                                  │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='apache2',                                        │               │
│ │             │   │   │   version='2.4.58-1+b1',                                 │               │
│ │             │   │   │   size=212452,                                           │               │
│ │             │   │   │   old_version='2.4.58-1'                                 │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='apache2-bin',                                    │               │
│ │             │   │   │   version='2.4.58-1+b1',                                 │               │
│ │             │   │   │   size=1375452,                                          │               │
│ │             │   │   │   old_version='2.4.58-1'                                 │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='apache2-utils',                                  │               │
│ │             │   │   │   version='2.4.58-1+b1',                                 │               │
│ │             │   │   │   size=205060,                                           │               │
│ │             │   │   │   old_version='2.4.58-1'                                 │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='apparmor',                                       │               │
│ │             │   │   │   version='3.0.12-1+b2',                                 │               │
│ │             │   │   │   size=627988,                                           │               │
│ │             │   │   │   old_version='3.0.12-1+b1'                              │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='aria2',                                          │               │
│ │             │   │   │   version='1.37.0+debian-1+b1',                          │               │
│ │             │   │   │   size=369436,                                           │               │
│ │             │   │   │   old_version='1.37.0+debian-1'                          │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='aspell',                                         │               │
│ │             │   │   │   version='0.60.8.1-1+b1',                               │               │
│ │             │   │   │   size=273172,                                           │               │
│ │             │   │   │   old_version='0.60.8.1-1'                               │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='at-spi2-core',                                   │               │
│ │             │   │   │   version='2.50.0-1+b1',                                 │               │
│ │             │   │   │   size=59752,                                            │               │
│ │             │   │   │   old_version='2.50.0-1'                                 │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='avahi-daemon',                                   │               │
│ │             │   │   │   version='0.8-13+b1',                                   │               │
│ │             │   │   │   size=84468,                                            │               │
│ │             │   │   │   old_version='0.8-13'                                   │               │
│ │             │   │   ),                                                         │               │
│ │             │   │   ... +354                                                   │               │
│ │             │   ],                                                             │               │
│ │             │   autoremove_pkgs=[                                              │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='libappstreamqt2',                                │               │
│ │             │   │   │   version='0.16.4-1',                                    │               │
│ │             │   │   │   size=354304,                                           │               │
│ │             │   │   │   old_version=None                                       │               │
│ │             │   │   )                                                          │               │
│ │             │   ],                                                             │               │
│ │             │   autoremove_config=[],                                          │               │
│ │             │   delete_config=[],                                              │               │
│ │             │   recommend_pkgs=[],                                             │               │
│ │             │   suggest_pkgs=[],                                               │               │
│ │             │   configure_pkgs=[],                                             │               │
│ │             │   downgrade_pkgs=[],                                             │               │
│ │             │   held_pkgs=[                                                    │               │
│ │             │   │   NalaPackage(                                               │               │
│ │             │   │   │   name='megasync',                                       │               │
│ │             │   │   │   version='4.11.0-3.1',                                  │               │
│ │             │   │   │   size=55152640,                                         │               │
│ │             │   │   │   old_version='4.9.4-3.1'                                │               │
│ │             │   │   )                                                          │               │
│ │             │   ]                                                              │               │
│ │             )                                                                  │               │
│ │ operation = 'upgrade'                                                          │               │
│ │      pkgs = [                                                                  │               │
│ │             │   <Package: name:'accountsservice' architecture='amd64' id:384>, │               │
│ │             │   <Package: name:'adwaita-qt' architecture='amd64' id:700>,      │               │
│ │             │   <Package: name:'apache2' architecture='amd64' id:591>,         │               │
│ │             │   <Package: name:'apache2-bin' architecture='amd64' id:1682>,    │               │
│ │             │   <Package: name:'apache2-utils' architecture='amd64' id:1684>,  │               │
│ │             │   <Package: name:'apparmor' architecture='amd64' id:1969>,       │               │
│ │             │   <Package: name:'aria2' architecture='amd64' id:1492>,          │               │
│ │             │   <Package: name:'aspell' architecture='amd64' id:1094>,         │               │
│ │             │   <Package: name:'at-spi2-core' architecture='amd64' id:3117>,   │               │
│ │             │   <Package: name:'avahi-daemon' architecture='amd64' id:2088>,   │               │
│ │             │   ... +355                                                       │               │
│ │             ]                                                                  │               │
│ ╰────────────────────────────────────────────────────────────────────────────────╯               │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/downloader.py:911 in download_pkgs                           │
│                                                                                                  │
│   908                                                                                            │
│   909 def download_pkgs(pkgs: Iterable[Package]) -> None:                                        │
│   910 │   """Download package from a list of pkgs."""                                            │
│ ❱ 911 │   download(                                                                              │
│   912 │   │   Downloader(                                                                        │
│   913 │   │   │   # Start the larger files first, as they take the longest                       │
│   914 │   │   │   sorted(                                                                        │
│                                                                                                  │
│ ╭───────────────────────────────── locals ──────────────────────────────────╮                    │
│ │ pkgs = [                                                                  │                    │
│ │        │   <Package: name:'accountsservice' architecture='amd64' id:384>, │                    │
│ │        │   <Package: name:'adwaita-qt' architecture='amd64' id:700>,      │                    │
│ │        │   <Package: name:'apache2' architecture='amd64' id:591>,         │                    │
│ │        │   <Package: name:'apache2-bin' architecture='amd64' id:1682>,    │                    │
│ │        │   <Package: name:'apache2-utils' architecture='amd64' id:1684>,  │                    │
│ │        │   <Package: name:'apparmor' architecture='amd64' id:1969>,       │                    │
│ │        │   <Package: name:'aria2' architecture='amd64' id:1492>,          │                    │
│ │        │   <Package: name:'aspell' architecture='amd64' id:1094>,         │                    │
│ │        │   <Package: name:'at-spi2-core' architecture='amd64' id:3117>,   │                    │
│ │        │   <Package: name:'avahi-daemon' architecture='amd64' id:2088>,   │                    │
│ │        │   ... +355                                                       │                    │
│ │        ]                                                                  │                    │
│ ╰───────────────────────────────────────────────────────────────────────────╯                    │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/downloader.py:878 in download                                │
│                                                                                                  │
│   875 │   Does not return if in Download Only mode.                                              │
│   876 │   """
│   877 │   try:                                                                                   │
│ ❱ 878 │   │   run(downloader.start_download())                                                   │
│   879 │   except (CancelledError, RuntimeError) as error:                                        │
│   880 │   │   if downloader.exit:                                                                │
│   881 │   │   │   sys.exit(downloader.exit)                                                      │
│                                                                                                  │
│ ╭────────────────────────────── locals ──────────────────────────────╮                           │
│ │ downloader = <nala.downloader.Downloader object at 0x7f82a3348d70> │                           │
│ ╰────────────────────────────────────────────────────────────────────╯                           │
│                                                                                                  │
│ /usr/lib/python3.12/asyncio/runners.py:194 in run                                                │
│                                                                                                  │
│   191 │   │   │   "asyncio.run() cannot be called from a running event loop")                    │
│   192 │                                                                                          │
│   193 │   with Runner(debug=debug, loop_factory=loop_factory) as runner:                         │
│ ❱ 194 │   │   return runner.run(main)                                                            │
│   195                                                                                            │
│   196                                                                                            │
│   197 def _cancel_all_tasks(loop):                                                               │
│                                                                                                  │
│ ╭─────────────────────────────────── locals ────────────────────────────────────╮                │
│ │        debug = None                                                           │                │
│ │ loop_factory = None                                                           │                │
│ │         main = <coroutine object Downloader.start_download at 0x7f82a3482320> │                │
│ │       runner = <asyncio.runners.Runner object at 0x7f82a410cd40>              │                │
│ ╰───────────────────────────────────────────────────────────────────────────────╯                │
│                                                                                                  │
│ /usr/lib/python3.12/asyncio/runners.py:118 in run                                                │
│                                                                                                  │
│   115 │   │                                                                                      │
│   116 │   │   self._interrupt_count = 0                                                          │
│   117 │   │   try:                                                                               │
│ ❱ 118 │   │   │   return self._loop.run_until_complete(task)                                     │
│   119 │   │   except exceptions.CancelledError:                                                  │
│   120 │   │   │   if self._interrupt_count > 0:                                                  │
│   121 │   │   │   │   uncancel = getattr(task, "uncancel", None)                                 │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │        context = <_contextvars.Context object at 0x7f82a34a5880>                             │ │
│ │           coro = <coroutine object Downloader.start_download at 0x7f82a3482320>              │ │
│ │           self = <asyncio.runners.Runner object at 0x7f82a410cd40>                           │ │
│ │ sigint_handler = functools.partial(<bound method Runner._on_sigint of                        │ │
│ │                  <asyncio.runners.Runner object at 0x7f82a410cd40>>, main_task=<Task         │ │
│ │                  finished name='Task-1' coro=<Downloader.start_download() done, defined at   │ │
│ │                  /usr/lib/python3/dist-packages/nala/downloader.py:399>                      │ │
│ │                  exception=InvalidURL('Invalid non-printable ASCII character in URL')>)      │ │
│ │           task = <Task finished name='Task-1' coro=<Downloader.start_download() done,        │ │
│ │                  defined at /usr/lib/python3/dist-packages/nala/downloader.py:399>           │ │
│ │                  exception=InvalidURL('Invalid non-printable ASCII character in URL')>       │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3.12/asyncio/base_events.py:684 in run_until_complete                             │
│                                                                                                  │
│    681 │   │   if not future.done():                                                             │
│    682 │   │   │   raise RuntimeError('Event loop stopped before Future completed.')             │
│    683 │   │                                                                                     │
│ ❱  684 │   │   return future.result()                                                            │
│    685 │                                                                                         │
│    686 │   def stop(self):                                                                       │
│    687 │   │   """Stop running the event loop.                                                   │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │   future = <Task finished name='Task-1' coro=<Downloader.start_download() done, defined at   │ │
│ │            /usr/lib/python3/dist-packages/nala/downloader.py:399>                            │ │
│ │            exception=InvalidURL('Invalid non-printable ASCII character in URL')>             │ │
│ │ new_task = False                                                                             │ │
│ │     self = <_UnixSelectorEventLoop running=False closed=True debug=False>                    │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/downloader.py:423 in start_download                          │
│                                                                                                  │
│   420 │   │   │   │   │   exit_func = partial(self.interrupt, signal_enum, loop)                 │
│   421 │   │   │   │   │   loop.add_signal_handler(signal_enum, exit_func)                        │
│   422 │   │   │   │                                                                              │
│ ❱ 423 │   │   │   │   return all(await gather(*tasks))                                           │
│   424 │                                                                                          │
│   425 │   async def _init_download(self, client: AsyncClient, urls: URLSet) -> None:             │
│   426 │   │   """Download pkgs."""                                                               │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │      client = <httpx.AsyncClient object at 0x7f829e153350>                                   │ │
│ │   exit_func = functools.partial(<bound method Downloader.interrupt of                        │ │
│ │               <nala.downloader.Downloader object at 0x7f82a3348d70>>, <Signals.SIGTERM: 15>, │ │
│ │               <_UnixSelectorEventLoop running=False closed=True debug=False>)                │ │
│ │        loop = <_UnixSelectorEventLoop running=False closed=True debug=False>                 │ │
│ │        self = <nala.downloader.Downloader object at 0x7f82a3348d70>                          │ │
│ │ signal_enum = <Signals.SIGTERM: 15>                                                          │ │
│ │       tasks = <generator object Downloader.start_download.<locals>.<genexpr> at              │ │
│ │               0x7f829e07e340>                                                                │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/downloader.py:432 in _init_download                          │
│                                                                                                  │
│   429 │   │   │   │   if not (domain := await self._check_count(url.uri)):                       │
│   430 │   │   │   │   │   continue                                                               │
│   431 │   │   │   │   try:                                                                       │
│ ❱ 432 │   │   │   │   │   await self._download(client, url)                                      │
│   433 │   │   │   │   │                                                                          │
│   434 │   │   │   │   │   post_download_check(url)                                               │
│   435                                                                                            │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ client = <httpx.AsyncClient object at 0x7f829e153350>                                        │ │
│ │ domain = 'https://repo.expressvpn.com/public'                                                │ │
│ │   self = <nala.downloader.Downloader object at 0x7f82a3348d70>                               │ │
│ │    url = URL(                                                                                │ │
│ │          │                                                                                   │ │
│ │          uri='https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-version/ma… │ │
│ │          │   size=22658444,                                                                  │ │
│ │          │   path=PosixPath('/var/cache/apt/archives/expressvpn_3.61.0.12-1_amd64.deb'),     │ │
│ │          │   proto='',                                                                       │ │
│ │          │   hash_type='sha256',                                                             │ │
│ │          │   hash='fc62e742bca1068f94781555ed9426dd4df7f7df8fed3f818317b00e13b21ac8',        │ │
│ │          │   failed=False,                                                                   │ │
│ │          │   no_hash=False                                                                   │ │
│ │          )                                                                                   │ │
│ │   urls = [                                                                                   │ │
│ │          │   URL(                                                                            │ │
│ │          │   │                                                                               │ │
│ │          uri='https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-version/ma… │ │
│ │          │   │   size=22658444,                                                              │ │
│ │          │   │   path=PosixPath('/var/cache/apt/archives/expressvpn_3.61.0.12-1_amd64.deb'), │ │
│ │          │   │   proto='',                                                                   │ │
│ │          │   │   hash_type='sha256',                                                         │ │
│ │          │   │   hash='fc62e742bca1068f94781555ed9426dd4df7f7df8fed3f818317b00e13b21ac8',    │ │
│ │          │   │   failed=False,                                                               │ │
│ │          │   │   no_hash=False                                                               │ │
│ │          │   ),                                                                              │ │
│ │          │   URL(                                                                            │ │
│ │          │   │                                                                               │ │
│ │          uri='https://dl.cloudsmith.io/public/expressvpn/linux/deb/debian/pool/any-version/… │ │
│ │          │   │   size=22658444,                                                              │ │
│ │          │   │   path=PosixPath('/var/cache/apt/archives/expressvpn_3.61.0.12-1_amd64.deb'), │ │
│ │          │   │   proto='',                                                                   │ │
│ │          │   │   hash_type='sha256',                                                         │ │
│ │          │   │   hash='fc62e742bca1068f94781555ed9426dd4df7f7df8fed3f818317b00e13b21ac8',    │ │
│ │          │   │   failed=False,                                                               │ │
│ │          │   │   no_hash=False                                                               │ │
│ │          │   )                                                                               │ │
│ │          ]                                                                                   │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/downloader.py:465 in _download                               │
│                                                                                                  │
│   462 │   │   │   total_data = 0                                                                 │
│   463 │   │   │   hash_fun = hashlib.new(url.hash_type)                                          │
│   464 │   │   │   try:                                                                           │
│ ❱ 465 │   │   │   │   async with client.stream("GET", url.uri) as response:                      │
│   466 │   │   │   │   │   response.raise_for_status()                                            │
│   467 │   │   │   │   │   async with await open_file(dest, mode="wb") as file:                   │
│   468 │   │   │   │   │   │   async for data in response.aiter_bytes():                          │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │         client = <httpx.AsyncClient object at 0x7f829e153350>                                │ │
│ │           dest = PosixPath('/var/cache/apt/archives/partial/expressvpn_3.61.0.12-1_amd64.de… │ │
│ │       hash_fun = <sha256 _hashlib.HASH object @ 0x7f829e0a4f10>                              │ │
│ │ second_attempt = False                                                                       │ │
│ │           self = <nala.downloader.Downloader object at 0x7f82a3348d70>                       │ │
│ │     total_data = 0                                                                           │ │
│ │            url = URL(                                                                        │ │
│ │                  │                                                                           │ │
│ │                  uri='https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-ve… │ │
│ │                  │   size=22658444,                                                          │ │
│ │                  │                                                                           │ │
│ │                  path=PosixPath('/var/cache/apt/archives/expressvpn_3.61.0.12-1_amd64.deb'), │ │
│ │                  │   proto='',                                                               │ │
│ │                  │   hash_type='sha256',                                                     │ │
│ │                  │                                                                           │ │
│ │                  hash='fc62e742bca1068f94781555ed9426dd4df7f7df8fed3f818317b00e13b21ac8',    │ │
│ │                  │   failed=False,                                                           │ │
│ │                  │   no_hash=False                                                           │ │
│ │                  )                                                                           │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3.12/contextlib.py:210 in __aenter__                                              │
│                                                                                                  │
│   207 │   │   # they are only needed for recreation, which is not possible anymore               │
│   208 │   │   del self.args, self.kwds, self.func                                                │
│   209 │   │   try:                                                                               │
│ ❱ 210 │   │   │   return await anext(self.gen)                                                   │
│   211 │   │   except StopAsyncIteration:                                                         │
│   212 │   │   │   raise RuntimeError("generator didn't yield") from None                         │
│   213                                                                                            │
│                                                                                                  │
│ ╭────────────────────────────────── locals ──────────────────────────────────╮                   │
│ │ self = <contextlib._AsyncGeneratorContextManager object at 0x7f829e0c5820> │                   │
│ ╰────────────────────────────────────────────────────────────────────────────╯                   │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/httpx/_client.py:1589 in stream                                   │
│                                                                                                  │
│   1586 │   │                                                                                     │
│   1587 │   │   [0]: /quickstart#streaming-responses                                              │
│   1588 │   │   """                                                                               │
│ ❱ 1589 │   │   request = self.build_request(                                                     │
│   1590 │   │   │   method=method,                                                                │
│   1591 │   │   │   url=url,                                                                      │
│   1592 │   │   │   content=content,                                                              │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │             auth = <httpx._client.UseClientDefault object at 0x7f82a39a4320>                 │ │
│ │          content = None                                                                      │ │
│ │          cookies = None                                                                      │ │
│ │             data = None                                                                      │ │
│ │       extensions = None                                                                      │ │
│ │            files = None                                                                      │ │
│ │ follow_redirects = <httpx._client.UseClientDefault object at 0x7f82a39a4320>                 │ │
│ │          headers = None                                                                      │ │
│ │             json = None                                                                      │ │
│ │           method = 'GET'                                                                     │ │
│ │           params = None                                                                      │ │
│ │             self = <httpx.AsyncClient object at 0x7f829e153350>                              │ │
│ │          timeout = <httpx._client.UseClientDefault object at 0x7f82a39a4320>                 │ │
│ │              url = 'https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-vers… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/httpx/_client.py:347 in build_request                             │
│                                                                                                  │
│    344 │   │                                                                                     │
│    345 │   │   [0]: /advanced/#request-instances                                                 │
│    346 │   │   """                                                                               │
│ ❱  347 │   │   url = self._merge_url(url)                                                        │
│    348 │   │   headers = self._merge_headers(headers)                                            │
│    349 │   │   cookies = self._merge_cookies(cookies)                                            │
│    350 │   │   params = self._merge_queryparams(params)                                          │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │    content = None                                                                            │ │
│ │    cookies = None                                                                            │ │
│ │       data = None                                                                            │ │
│ │ extensions = None                                                                            │ │
│ │      files = None                                                                            │ │
│ │    headers = None                                                                            │ │
│ │       json = None                                                                            │ │
│ │     method = 'GET'                                                                           │ │
│ │     params = None                                                                            │ │
│ │       self = <httpx.AsyncClient object at 0x7f829e153350>                                    │ │
│ │    timeout = <httpx._client.UseClientDefault object at 0x7f82a39a4320>                       │ │
│ │        url = 'https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-version/ma… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/httpx/_client.py:377 in _merge_url                                │
│                                                                                                  │
│    374 │   │   Merge a URL argument together with any 'base_url' on the client,                  │
│    375 │   │   to create the URL used for the outgoing request.                                  │
│    376 │   │   """
│ ❱  377 │   │   merge_url = URL(url)                                                              │
│    378 │   │   if merge_url.is_relative_url:                                                     │
│    379 │   │   │   # To merge URLs we always append to the base URL. To get this                 │
│    380 │   │   │   # behaviour correct we always ensure the base URL ends in a '/'               │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ self = <httpx.AsyncClient object at 0x7f829e153350>                                          │ │
│ │  url = 'https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-version/main/e'+… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/httpx/_urls.py:115 in __init__                                    │
│                                                                                                  │
│   112 │   │   │   │   kwargs["query"] = None if not params else str(QueryParams(params))         │
│   113 │   │                                                                                      │
│   114 │   │   if isinstance(url, str):                                                           │
│ ❱ 115 │   │   │   self._uri_reference = urlparse(url, **kwargs)                                  │
│   116 │   │   elif isinstance(url, URL):                                                         │
│   117 │   │   │   self._uri_reference = url._uri_reference.copy_with(**kwargs)                   │
│   118 │   │   else:                                                                              │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ kwargs = {}                                                                                  │ │
│ │   self = <repr-error "'URL' object has no attribute '_uri_reference'">                       │ │
│ │    url = 'https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-version/main/e… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/httpx/_urlparse.py:160 in urlparse                                │
│                                                                                                  │
│   157 │   # If a URL includes any ASCII control characters including \t, \r, \n,                 │
│   158 │   # then treat it as invalid.                                                            │
│   159 │   if any(char.isascii() and not char.isprintable() for char in url):                     │
│ ❱ 160 │   │   raise InvalidURL("Invalid non-printable ASCII character in URL")                   │
│   161 │                                                                                          │
│   162 │   # Some keyword arguments require special handling.                                     │
│   163 │   # ------------------------------------------------                                     │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ kwargs = {}                                                                                  │ │
│ │    url = 'https://repo.expressvpn.com/public/deb/debian\tpriority:1/pool/any-version/main/e… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

Undesirable localization enforcing in prompt

I'm using locale other than en_US and here is what I've encountered:

Do you want to continue? [Д/н] y
Not a valid choice kiddo
Do you want to continue? [Д/н] Д

While apt accepts the first, even while localized.
Please, add default y/n anyways

Nala does not seem to play well with apt-transport-tor | "tor+http"

Did sudo nala upgrade
then pressed 'Y' to install packages
then got this error:

Error: Request URL has an unsupported protocol 'tor+https://'.
Error: No more mirrors available for kodi_20.0+git20230115.1026-389e701cb9-0~jammy_all.deb
Error: Request URL has an unsupported protocol 'tor+https://'.
Error: No more mirrors available for kodi_20.0+git20230115.1026-389e701cb9-0~jammy_all.deb
Error: Request URL has an unsupported protocol 'tor+https://'.
Error: No more mirrors available for kodi-bin_20.0+git20230115.1026-389e701cb9-0~jammy_amd64.deb
Error: Request URL has an unsupported protocol 'tor+https://'.
Error: No more mirrors available for kodi-inputstream-adaptive_20.3.1-2~jammy_amd64.deb
Error: Request URL has an unsupported protocol 'tor+http://'.
Error: No more mirrors available for libspdlog1_1.9.2+ds-0.2_amd64.deb

...

Error: Download failure. The following downloads failed:
  kodi_20.0+git20230115.1026-389e701cb9-0~jammy_all.deb, kodi_20.0+git20230115.1026-389e701cb9-0~jammy_all.deb, kodi-bin_20.0+git20230115.1026-389e701cb9-0~jammy_amd64.deb, kodi-inputstream-adaptive_20.3.1-2~jammy_amd64.deb, libspdlog1_1.9.2+ds-0.2_amd64.deb
Warning: Falling back to apt_pkg. The following downloads failed:

Then packages installed successfully.

man page not displaying

I have installed and uninstalled Nala multiple times now via 'apt install nala' and entering the command 'nala' returns

~ $ nala
man: No entry for nala in the manual.

However, nala --help does display the general help page but the help pages for the individual commands are not displaying.

Ex.

~ $ nala history --help
man: No entry for nala-history in the manual.

I am still relatively new to the Linux operating system, so maybe I'm being an idiot here but it seems like at least upon installation I should be able to get working manpages. I have tested man with coreutlis and standard output to terminal works no problem.

~ $ nala --version
nala 0.15.1

Issues running nala after instalation.

Hello,

I am running Debian GNU/Linux 11 (bullseye) aarch64 on Raspberry Pi 3 Model B Rev 1.2

I installed nala using volian-scar

I have it installed:

nala --version
0.180.0

but after trying to use it I getting this error:

nala upgrade
usage: nala [-h] [-d] [--version] {init,generate_mocks,wrap_internal_symbols,include_dir,c_sources,cat} ...
nala: error: argument subcommand: invalid choice: 'upgrade' (choose from 'init', 'generate_mocks', 'wrap_internal_symbols', 'include_dir', 'c_sources', 'cat')

Can somebody help me with this to get it work ?

Arm64 not available from Repo anymore

Hi. I'm using Ubuntu on a Raspberry Pi, and currently running Nala 0.14.

With the new version 0.15, there is no Arm64 version in the repos anymore. As evident, only an Amd64 version exist.

Will there be an Arm64 version available in the Repos in the future? Else I'll have to consider some other installation option. 😬

Volian_repo

Nala can't resolve dependencies from file glob, refuses to install LibreOffice from disk

I attempted to install LibreOffice 24.2, by first downloading the release, and then running sudo nala install *.deb,
which I expected to be equivalent to sudo dpkg -i *.deb, as nala advertises itself as a wrapper to a wrapper to dpkg.

Nala was not able to resolve the dependencies and returned a helpful error.

Fold out full command output

user@computer:~/Downloads$ sudo nala install LibreOffice_24.2.3_Linux_x86-64_deb/LibreOffice_24.2.3.2_Linux_x86-64_deb/DEBS/*.deb
libobasis24.2-base
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-calc
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-core
└── Hängt ab von:
    ├── libreoffice24.2-ure (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2-ure (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-ooofonts (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-ooofonts (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-draw
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-en-us
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-extension-beanshell-script-provider
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-extension-javascript-script-provider
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-extension-mediawiki-publisher
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-extension-nlpsolver
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-extension-pdf-import
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-extension-report-builder
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-firebird
└── Hängt ab von:
    └── libobasis24.2-core, aber es ist nicht im Cache

libobasis24.2-gnome-integration
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-graphicfilter
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-images
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-impress
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-kde-integration
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-librelogo
└── Hängt ab von:
    ├── libobasis24.2-pyuno (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libobasis24.2-pyuno (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-writer (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-writer (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-libreofficekit-data
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-math
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-ogltrans
└── Hängt ab von:
    ├── libobasis24.2-impress (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-impress (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-onlineupdate
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-ooolinguistic
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-postgresql-sdbc
└── Hängt ab von:
    ├── libobasis24.2-base (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-base (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-python-script-provider
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-pyuno
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-writer
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libobasis24.2-xsltfilter
└── Hängt ab von:
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2
└── Hängt ab von:
    ├── libreoffice24.2-ure (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2-ure (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-images (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-images (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-base
└── Hängt ab von:
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-base (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-base (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-calc
└── Hängt ab von:
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-calc (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-calc (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-dict-en
└── Hängt ab von:
    ├── libreoffice24.2-ure (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2-ure (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    └── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-dict-es
└── Hängt ab von:
    ├── libreoffice24.2-ure (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2-ure (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    └── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-dict-fr
└── Hängt ab von:
    ├── libreoffice24.2-ure (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2-ure (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-core (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libobasis24.2-core (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    └── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-draw
└── Hängt ab von:
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-draw (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-draw (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-en-us
└── Hängt ab von:
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-en-us (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-en-us (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-impress
└── Hängt ab von:
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-impress (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-impress (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-math
└── Hängt ab von:
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-math (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-math (<= 24.2.3.2-2), aber es ist nicht im Cache

libreoffice24.2-writer
└── Hängt ab von:
    ├── libreoffice24.2 (>= 24.2.3.2), aber es ist nicht im Cache
    ├── libreoffice24.2 (<= 24.2.3.2-2), aber es ist nicht im Cache
    ├── libobasis24.2-writer (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-writer (<= 24.2.3.2-2), aber es ist nicht im Cache

Notiz: Die obigen Informationen können hilfreich sein
Fehler: Sie haben beschädigte Pakete zurückgehalten

I expected nala to find all dependencies, even if they are installed at the same time as packages that depend on them.
(I am also confused by the way upper+lower-bounded deps are displayed, and the amount of repetition.)

After installing libreoffice with dpkg I proceeded – or tried to – install the german langpak with nala:

Installing the Langpack (full command and output)

user@computer:~/Downloads/LibreOffice_24.2.3_Linux_x86-64_deb_langpack_de/LibreOffice_24.2.3.2_Linux_x86-64_deb_langpack_de/DEBS$ ls
libobasis24.2-de_24.2.3.2-2_amd64.deb
libreoffice24.2-de_24.2.3.2-2_amd64.deb
libreoffice24.2-dict-de_24.2.3.2-2_amd64.deb
user@computer:~/Downloads/LibreOffice_24.2.3_Linux_x86-64_deb_langpack_de/LibreOffice_24.2.3.2_Linux_x86-64_deb_langpack_de/DEBS$ sudo nala install *.deb
Fixing Broken Packages...
Es gibt beschädigte Pakete, die repariert werden müssen!
Sie können --no-fix-broken verwenden, wenn Sie es versuchen möchten, ohne sie zu reparieren.
================================================================================
 Entfernen                                                                      
================================================================================
  Paket:                    Version:                                    Größe:  
  libobasis24.2-de-help     24.2.3.2-2                                 35.2 MB  
                                                                                
================================================================================
 Zusammenfassung                                                                
================================================================================
 Entfernen 1 Pakete                                                             
                                                                                
 Speicherplatz freizugeben  35.2 MB   
                                      
Möchtest du fortfahren? [J/n] j
╭─ Pakete installieren ────────────────────────────────────────────────────────╮
│Entferne:        libobasis24.2-de-help (24.2.3.2-2)                           │
│╭────────────────────────────────────────────────────────────────────────────╮│
││✔ Ausführen von dpkg … ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 0:00:00 • 3/3││
│╰────────────────────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────╯
Erfolgreich beendet
user@computer:~/Downloads/LibreOffice_24.2.3_Linux_x86-64_deb_langpack_de/LibreOffice_24.2.3.2_Linux_x86-64_deb_langpack_de/DEBS$ sudo nala install *.deb
libreoffice24.2-de
└── Hängt ab von:
    ├── libobasis24.2-de (>= 24.2.3.2), aber es ist nicht im Cache
    └── libobasis24.2-de (<= 24.2.3.2-2), aber es ist nicht im Cache

Notiz: Die obigen Informationen können hilfreich sein
Fehler: Sie haben beschädigte Pakete zurückgehalten
user@computer:~/Downloads/LibreOffice_24.2.3_Linux_x86-64_deb_langpack_de/LibreOffice_24.2.3.2_Linux_x86-64_deb_langpack_de/DEBS$ sudo dpkg -i *.deb
Vormals nicht ausgewähltes Paket libobasis24.2-de wird gewählt.
(Lese Datenbank ... 319884 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von libobasis24.2-de_24.2.3.2-2_amd64.deb ...
Entpacken von libobasis24.2-de (24.2.3.2-2) ...
Vormals nicht ausgewähltes Paket libreoffice24.2-de wird gewählt.
Vorbereitung zum Entpacken von libreoffice24.2-de_24.2.3.2-2_amd64.deb ...
Entpacken von libreoffice24.2-de (24.2.3.2-2) ...
Vormals nicht ausgewähltes Paket libreoffice24.2-dict-de wird gewählt.
Vorbereitung zum Entpacken von libreoffice24.2-dict-de_24.2.3.2-2_amd64.deb ...
Entpacken von libreoffice24.2-dict-de (24.2.3.2-2) ...
libobasis24.2-de (24.2.3.2-2) wird eingerichtet ...
libreoffice24.2-de (24.2.3.2-2) wird eingerichtet ...
libreoffice24.2-dict-de (24.2.3.2-2) wird eingerichtet ...
user@computer:~/Downloads/LibreOffice_24.2.3_Linux_x86-64_deb_langpack_de/LibreOffice_24.2.3.2_Linux_x86-64_deb_langpack_de/DEBS$ 

In this case, I don't even know what's going on.

Lastly I installed the offline help, which succeeded, probably because it's just a single file.

edit: Version 0.11.1, sorry if that's ancient and the issue has been fixed since

Add flatpak support to Nala

It would be nice to add flatpak support to Nala. This way both APT and flatpak apps could be installed and updated from one app (From Nala).

Add option to `nala list` to hide package information

Could developers add and option to nala list so only package name, version, system and repository are shown?

Current:

$ nala list nala
libdynalang-java 0.4-3.1 [Ubuntu/jammy universe]
└── JVM Dynamic Languages Metaobject Protocol

nala 0.11.1~bpo22.04.1 [Ubuntu/jammy universe]
├── está instalado
└── Commandline frontend for the APT package manager

I wish (-h for headings only):

$ nala list -h nala
libdynalang-java 0.4-3.1 [Ubuntu/jammy universe]
nala 0.11.1~bpo22.04.1 [Ubuntu/jammy universe]

It's easier to read this way. Alternatively, make this the standard output to nala list, using -f for short info and -Fto --full.

feature request for nala fetch

Hi devs,

Nala is best apt Frontend in Debian universe and this is the reason why i want usefull add ins.

Nala fetch pinging every repository and listing repositories with lowest response time in chronicle order.

But for unattended run we should have possibility to tell nala fetch first 2 fastest response server should be added.

Example "nala fetch 1,2" or "nala fetch 1,2,3"

For three servers but without user interactions - very important.

As another addition, -no one did this before even apt- , upgrading and downgrading between debian repository with one command.

Yes you read well:

When debian sources list, is in stable repo and someone want upgrade to testing or unstable than this should possible just with one command :

nala repo-upgrade sid/unstable/testing or stable AND "nala fetch 1,2" in one shot like
"nala repo-upgrade sid fetch 1,2"

As arguments for shell and than unattended upgrade should possible-without any user interaction.

And the same for downgrade

Example from sid back to stable:

"nala repo-upgrade stable fetch 1,2".

I hope my idea and brainstorming should help improve nala.

Becaude when you dont plant this, admins need to workaround with shellscripts and expect commands unnecessary.

Thanks and

Best regards

stopped working instructions to uninstall also didn't work.

premier69@premier69-PC:~$ nala
Traceback (most recent call last):
File "/build/nala-legacy-7iFYbN/nala-legacy-0.11.0/nala-cli.py", line 30, in
File "/build/nala-legacy-7iFYbN/nala-legacy-0.11.0/nala/init.py", line 45, in
ModuleNotFoundError: No module named 'apt_pkg'

Nala Python Error On Use after Installation

I'm currently on Debian 12 and installed Nala via volian-scar

Run I try to run any Nala command I get

Traceback (most recent call last): File "/usr/bin/nala", line 5, in <module> from nala.__main__ import main File "/usr/lib/python3/dist-packages/nala/__init__.py", line 67, in <module> import debian.debian_support # isort:skip ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'debian'

I can provide further info if needed.

Some packages are installed/removed at each upgrade

Hi!

I am trying since some weeks nala and love it so far, thanks for what you've done!

I noticed an issue happening when using nala (but not with apt):

When asking nala to upgrade the system with nala upgrade -y, it removes some packages. When asking nala to upgrade again the system, it installs these packages again. And if I ask to upgrade again, it will remove again these packages and so on...

Here is an asciinema to illustrate what I mean: https://asciinema.org/a/KFGsizfPTSFjbcOy9Ag9VeeQg

If you find a way to avoid this, that would be awesome!

Thanks.

DeprecationWarning when running update/upgrade

When I run

sudo nala upgrade

or

sudo nala update

I get a bunch of DeprecationWarnings:

/usr/share/squid-deb-proxy-client/apt-avahi-discover:6: DeprecationWarning: The asyncore module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio
  import asyncore
/usr/share/squid-deb-proxy-client/apt-avahi-discover:6: DeprecationWarning: The asyncore module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio
  import asyncore
/usr/share/squid-deb-proxy-client/apt-avahi-discover:6: DeprecationWarning: The asyncore module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio
  import asyncore
/usr/share/squid-deb-proxy-client/apt-avahi-discover:6: DeprecationWarning: The asyncore module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio
  import asyncore
/usr/share/squid-deb-proxy-client/apt-avahi-discover:6: DeprecationWarning: The asyncore module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio
  import asyncore
/usr/share/squid-deb-proxy-client/apt-avahi-discover:6: DeprecationWarning: The asyncore module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio
  import asyncore
/usr/share/squid-deb-proxy-client/apt-avahi-discover:6: DeprecationWarning: The asyncore module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio
  import asyncore

The standard nala update/upgrade text follows this but on occasion gets interrupted by the same error.

Relevant info:

nala version 0.11.1
python3 version 3.10.12
python3.11 is installed but not default (v3.11.0)
system is Linux Mint 21.2 Cinnamon

incomplete upgrade

Hi everyone, and thank you for this amazing project.

whenever I do a nala upgrade, it often end with not installing a few packages. however if I do an apt dist-upgrade ou full-upgrade every packages install just fine.
could it be possible to a command that mimic full-upgrade an go further in the resolution of dependencies.

Thank for the good work.

Can't upgrade from 0.7.2 to 0.8.1

Hi!

When trying to upgrade nala to last version from nala's ppa I get the following error:

The following packages were kept back:
nala
└── Depends:
    └── python3-typer is only referenced by name, no packages provides it

I am on Pop_OS! 21.10.

Edit: I upgraded Pop_OS! to 22.04 and Nala 0.8.1 installed properly on it. So maybe it's an issue specific to older versions of Ubuntu like distros.

Edit 2: I also read on Reddit that nala-legacy is the way to install nala on older debian versions, I guess it's probably bound to this issue.

Output from nala upgrade is more readable than nala list --upgradable

I wonder if the output of nala list --upgradable should look like more part of the output from nala upgrade
Since using nala, I rarely use nala list --upgradable since i find it too similar to apt's default behavior, rather I just use nala upgrade because I think the output is more informative. However I do not like having to wait for the package list update every time I run it.

E.g the output from nala list --upgradable looks like:
image

This is nice because it contains a short description of each package, however for large upgrades, the list can get very very long, and it becomes hard to recognise large updates. Additionally, I know what most of the packages on my system do, and if I do not, then I can look it up for that specific package.

However the pre-upgrade view, in my opinion, is great, it's more compact, and the colouring makes it easier to see what are major and what are minor upgrades. I like viewing this output but I do not like having to often wait for the package list update to finish.
image

Nala should accept 'y' (as well as 'j') in German Locale

Few Linux command line tools translate their output according to locale. But when those with a German translation interactively ask for a [J/n] ( think [Y/n] ) confirmation, they also accept a 'y'.

I've come to expect that and would like nala to behave that way.

Version 0.11.1

Where to ask feature questions?

Sorry! I'm new to GitHub and I'm still learning. But I wanted to know if nala supports automatic Snapper snapshots and apt-transport-tor? Those features are really, really important to me.

libfuse3-3 package is being installed and removed repeatedly

Hello,
I'll keep it short, you'll see the problem. Nala is installing and removing this package (not auto) without relation to any package being upgraded or auto-removed.
Results of sudo nala update ; sudo nala upgrade:

╭─ Updating Package List ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│No Change: http://de.archive.ubuntu.com/ubuntu focal-updates InRelease                                                                                                                                          ││No Change: http://ppa.launchpad.net/mozillateam/ppa/ubuntu focal InRelease                                                                                                                                      ││Updated:   http://de.archive.ubuntu.com/ubuntu focal-backports InRelease [108 KB]                                                                                                                               ││No Change: https://deb.packages.mattermost.com stable InRelease                                                                                                                                                 ││Ignored:   https://repo.vivaldi.com/stable/deb stable InRelease                                                                                                                                                 ││No Change: https://packages.redis.io/deb focal InRelease                                                                                                                                                        ││No Change: http://ppa.launchpad.net/solaar-unifying/stable/ubuntu focal InRelease                                                                                                                               ││No Change: http://ppa.launchpad.net/tomtomtom/woeusb/ubuntu focal InRelease                                                                                                                                     ││No Change: http://ppa.launchpad.net/wireshark-dev/stable/ubuntu focal InRelease                                                                                                                                 ││No Change: http://ppa.launchpad.net/zorinos/apps/ubuntu focal InRelease                                                                                                                                         ││No Change: http://ppa.launchpad.net/zorinos/drivers/ubuntu focal InRelease                                                                                                                                      ││No Change: https://deb.volian.org/volian scar InRelease                                                                                                                                                         ││No Change: http://ppa.launchpad.net/zorinos/patches/ubuntu focal InRelease                                                                                                                                      ││No Change: http://ppa.launchpad.net/zorinos/stable/ubuntu focal InRelease                                                                                                                                       ││No Change: https://packages.zorinos.com/stable focal InRelease                                                                                                                                                  ││No Change: https://packages.zorinos.com/patches focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/apps focal InRelease                                                                                                                                                    ││No Change: https://packages.zorinos.com/drivers focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/premium focal InRelease                                                                                                                                                 ││No Change: https://repo.vivaldi.com/stable/deb stable Release                                                                                                                                                   ││Fetched 373 KB in 4s (0 Bytes/s)                                                                                                                                                                                │╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯1 packages can be upgraded. Run 'nala list --upgradable' to see them.
╭─ Updating Package List ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│No Change: http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal InRelease                                                                                                                                 ││Updated:   http://de.archive.ubuntu.com/ubuntu focal-backports InRelease [108 KB]                                                                                                                               ││Ignored:   https://repo.vivaldi.com/stable/deb stable InRelease                                                                                                                                                 ││No Change: http://ppa.launchpad.net/mozillateam/ppa/ubuntu focal InRelease                                                                                                                                      ││No Change: https://deb.packages.mattermost.com stable InRelease                                                                                                                                                 ││No Change: https://packages.redis.io/deb focal InRelease                                                                                                                                                        ││No Change: http://ppa.launchpad.net/solaar-unifying/stable/ubuntu focal InRelease                                                                                                                               ││No Change: http://ppa.launchpad.net/tomtomtom/woeusb/ubuntu focal InRelease                                                                                                                                     ││No Change: http://ppa.launchpad.net/wireshark-dev/stable/ubuntu focal InRelease                                                                                                                                 ││No Change: https://deb.volian.org/volian scar InRelease                                                                                                                                                         ││No Change: http://ppa.launchpad.net/zorinos/apps/ubuntu focal InRelease                                                                                                                                         ││No Change: http://ppa.launchpad.net/zorinos/drivers/ubuntu focal InRelease                                                                                                                                      ││No Change: http://ppa.launchpad.net/zorinos/patches/ubuntu focal InRelease                                                                                                                                      ││No Change: http://ppa.launchpad.net/zorinos/stable/ubuntu focal InRelease                                                                                                                                       ││No Change: https://packages.zorinos.com/stable focal InRelease                                                                                                                                                  ││No Change: https://packages.zorinos.com/patches focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/apps focal InRelease                                                                                                                                                    ││No Change: https://packages.zorinos.com/drivers focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/premium focal InRelease                                                                                                                                                 ││No Change: https://repo.vivaldi.com/stable/deb stable Release                                                                                                                                                   ││Fetched 373 KB in 4s (0 Bytes/s)                                                                                                                                                                                │╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯The following packages were kept back:
Nala was unable to determine why these were held:
  xdg-desktop-portal
Do you want to continue? [Y/n] y
================================================================================================================================================================================================================== Auto-Removing                                                                                                                                                                                                    
==================================================================================================================================================================================================================  Package:                                                              Version:                                                                                                                           Size:  
  linux-headers-5.15.0-75-generic                                       5.15.0-75.82~20.04.1                                                                                                             26.8 MB  
  linux-hwe-5.15-headers-5.15.0-75                                      5.15.0-75.82~20.04.1                                                                                                             77.7 MB  
  linux-image-5.15.0-75-generic                                         5.15.0-75.82~20.04.1                                                                                                             11.5 MB  
  linux-modules-5.15.0-75-generic                                       5.15.0-75.82~20.04.1                                                                                                            127.5 MB  
  linux-modules-extra-5.15.0-75-generic                                 5.15.0-75.82~20.04.1                                                                                                            355.5 MB  
                                                                                                                                                                                                                  
================================================================================================================================================================================================================== Installing                                                                                                                                                                                                       
==================================================================================================================================================================================================================  Package:                                                              Version:                                                                                                                           Size:  
  libfuse3-3                                                            3.9.0-2                                                                                                                            74 KB  
                                                                                                                                                                                                                  
================================================================================================================================================================================================================== Summary                                                                                                                                                                                                          
================================================================================================================================================================================================================== Auto-Remove 5 Packages                                                                                                                                                                                           
 Install     1 Packages                                                                                                                                                                                           
                                                                                                                                                                                                                  
 Disk space to free  598.7 MB   
                                
Do you want to continue? [Y/n] y
╭─ Updating Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│- No original module was found for this module on this kernel.                                                                                                                                                  ││- Use the dkms install command to reinstall any previous module version.                                                                                                                                        ││depmod                                                                                                                                                                                                          ││DKMS: uninstall completed.                                                                                                                                                                                      ││/etc/kernel/postrm.d/initramfs-tools:                                                                                                                                                                           ││update-initramfs: Deleting /boot/initrd.img-5.15.0-75-generic                                                                                                                                                   ││/etc/kernel/postrm.d/zz-update-grub:                                                                                                                                                                            ││Sourcing file `/etc/default/grub'                                                                                                                                                                               ││Sourcing file `/etc/default/grub.d/init-select.cfg'                                                                                                                                                             ││Generating grub configuration file                                                                                                                                                                              ││Found theme: /usr/share/grub/themes/zorin/theme.txt                                                                                                                                                             ││Found linux image: /boot/vmlinuz-5.15.0-78-generic                                                                                                                                                              ││Found initrd image: /boot/initrd.img-5.15.0-78-generic                                                                                                                                                          ││Found linux image: /boot/vmlinuz-5.15.0-76-generic                                                                                                                                                              ││Found initrd image: /boot/initrd.img-5.15.0-76-generic                                                                                                                                                          ││Adding boot menu entry for UEFI Firmware Settings                                                                                                                                                               ││done                                                                                                                                                                                                            ││Removing:   linux-modules-5.15.0-75-generic (5.15.0-75.82~20.04.1)                                                                                                                                              ││Unpacking:  libfuse3-3:amd64 (3.9.0-2)                                                                                                                                                                          ││Setting up: libfuse3-3:amd64 (3.9.0-2)                                                                                                                                                                          ││Processing: triggers for libc-bin (2.31-0ubuntu9.9)                                                                                                                                                             ││╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│││✔ Running dpkg … ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 0:00:00 • 13/13│││╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯Notice: The following packages require a reboot.
  linux-image-5.15.0-78-generic
  linux-base
Finished Successfully

I ran it again.
Results of sudo nala update ; sudo nala upgrade:

╭─ Updating Package List ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│No Change: http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal InRelease                                                                                                                                 ││Ignored:   https://repo.vivaldi.com/stable/deb stable InRelease                                                                                                                                                 ││No Change: https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 Release                                                                                                                                    ││No Change: http://ppa.launchpad.net/mozillateam/ppa/ubuntu focal InRelease                                                                                                                                      ││No Change: https://deb.packages.mattermost.com stable InRelease                                                                                                                                                 ││No Change: http://ppa.launchpad.net/solaar-unifying/stable/ubuntu focal InRelease                                                                                                                               ││No Change: https://packages.redis.io/deb focal InRelease                                                                                                                                                        ││No Change: http://ppa.launchpad.net/tomtomtom/woeusb/ubuntu focal InRelease                                                                                                                                     ││No Change: http://ppa.launchpad.net/wireshark-dev/stable/ubuntu focal InRelease                                                                                                                                 ││No Change: http://ppa.launchpad.net/zorinos/apps/ubuntu focal InRelease                                                                                                                                         ││No Change: https://deb.volian.org/volian scar InRelease                                                                                                                                                         ││No Change: http://ppa.launchpad.net/zorinos/drivers/ubuntu focal InRelease                                                                                                                                      ││No Change: http://ppa.launchpad.net/zorinos/patches/ubuntu focal InRelease                                                                                                                                      ││No Change: http://ppa.launchpad.net/zorinos/stable/ubuntu focal InRelease                                                                                                                                       ││No Change: https://packages.zorinos.com/stable focal InRelease                                                                                                                                                  ││No Change: https://packages.zorinos.com/patches focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/apps focal InRelease                                                                                                                                                    ││No Change: https://packages.zorinos.com/drivers focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/premium focal InRelease                                                                                                                                                 ││No Change: https://repo.vivaldi.com/stable/deb stable Release                                                                                                                                                   ││Fetched 373 KB in 3s (0 Bytes/s)                                                                                                                                                                                │╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯1 packages can be upgraded. Run 'nala list --upgradable' to see them.
╭─ Updating Package List ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│No Change: http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal InRelease                                                                                                                                 ││Updated:   http://de.archive.ubuntu.com/ubuntu focal-backports InRelease [108 KB]                                                                                                                               ││No Change: http://ppa.launchpad.net/mozillateam/ppa/ubuntu focal InRelease                                                                                                                                      ││Ignored:   https://repo.vivaldi.com/stable/deb stable InRelease                                                                                                                                                 ││No Change: https://deb.packages.mattermost.com stable InRelease                                                                                                                                                 ││No Change: http://ppa.launchpad.net/solaar-unifying/stable/ubuntu focal InRelease                                                                                                                               ││No Change: https://packages.redis.io/deb focal InRelease                                                                                                                                                        ││No Change: http://ppa.launchpad.net/tomtomtom/woeusb/ubuntu focal InRelease                                                                                                                                     ││No Change: http://ppa.launchpad.net/wireshark-dev/stable/ubuntu focal InRelease                                                                                                                                 ││No Change: https://deb.volian.org/volian scar InRelease                                                                                                                                                         ││No Change: http://ppa.launchpad.net/zorinos/apps/ubuntu focal InRelease                                                                                                                                         ││No Change: http://ppa.launchpad.net/zorinos/drivers/ubuntu focal InRelease                                                                                                                                      ││No Change: http://ppa.launchpad.net/zorinos/patches/ubuntu focal InRelease                                                                                                                                      ││No Change: http://ppa.launchpad.net/zorinos/stable/ubuntu focal InRelease                                                                                                                                       ││No Change: https://packages.zorinos.com/stable focal InRelease                                                                                                                                                  ││No Change: https://packages.zorinos.com/patches focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/apps focal InRelease                                                                                                                                                    ││No Change: https://packages.zorinos.com/drivers focal InRelease                                                                                                                                                 ││No Change: https://packages.zorinos.com/premium focal InRelease                                                                                                                                                 ││No Change: https://repo.vivaldi.com/stable/deb stable Release                                                                                                                                                   ││Fetched 373 KB in 4s (0 Bytes/s)                                                                                                                                                                                │╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯The following packages were kept back:
Nala was unable to determine why these were held:
  xdg-desktop-portal
Do you want to continue? [Y/n] y
================================================================================================================================================================================================================== Auto-Removing                                                                                                                                                                                                    
==================================================================================================================================================================================================================  Package:                                                              Version:                                                                                                                           Size:  
  libfuse3-3                                                            3.9.0-2                                                                                                                           284 KB  
                                                                                                                                                                                                                  
================================================================================================================================================================================================================== Summary                                                                                                                                                                                                          
================================================================================================================================================================================================================== Auto-Remove 1 Packages                                                                                                                                                                                           
                                                                                                                                                                                                                  
 Disk space to free  284 KB   
                              
Do you want to continue? [Y/n] y
╭─ Updating Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╭─ Updating Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│Removing:   libfuse3-3:amd64 (3.9.0-2)                                                                                                                                                                          ││Processing: triggers for libc-bin (2.31-0ubuntu9.9)                                                                                                                                                             ││╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│││✔ Running dpkg … ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 0:00:00 • 3/3│││╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯Notice: The following packages require a reboot.
  linux-image-5.15.0-78-generic
  linux-base
Finished Successfully

See? It feels real dumb to do that.
It does not happen if I use APT, only nala.

Feature request

This is not an actual issue but a feature request.
We are pretty happy to use Nala for some automation with Debian-based VMs.

Current behavior of nala fetch requires manual approval step to accept desired mirrors.
But it would be great if you could extend nala fetch command with an mirror auto-detection option and mirror auto-approval feature.
In this case Nala will detect the fastest mirrors and set the first 3 in the list as default ones.
CLI example may look like nala fetch -auto-approve.

And thanks again for a great tool.

Incorrect Package Removal When Installing Software via Nala Package Manager

Issue:
When using Nala package manager to install a software package, such as Insomnia, packages unrelated to the new software dependencies are being removed. This behavior is not observed when using dpkg or apt install ./name-of-software.deb directly.

Steps to Reproduce:

  1. Download a software package with the .deb extension, e.g., Insomnia.
  2. Execute the command: sudo nala install ./name-of-software.deb.

Expected Behavior:
The software (e.g., Insomnia) should be installed without removing any unrelated packages.

Actual Behavior:
Nala removes several important packages unrelated to the new software dependencies during the installation process.

Screenshots:
Screenshot 1
Screenshot 2

Additional Information:

  • Nala version: nala 0.12.2, installed from ubuntu repository.
  • Operating System: Ubuntu 23.04

Note:
The issue seems to be specific to Nala, as installing the same .deb package directly with dpkg or apt does not exhibit this problem.

Error: Kali kali-rolling is unsupported. You can specify Ubuntu or Debian manually.

What can I do in this case?
It doesn't seem to support Kali Linux
Is it possible for you to explain to me what to do about this? Would love to hear all possible tips and explanations.
By the way, great software in my opinion!

sudo nala fetch
Error: Kali kali-rolling is unsupported.
You can specify Ubuntu or Debian manually.

Usage: nala fetch [OPTIONS]

Nala will fetch mirrors with the lowest latency.
For Debian https://mirror-master.debian.org/status/Mirrors.masterlist
For Ubuntu https://launchpad.net/ubuntu/+archivemirrors-rss

╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --debian sid Choose the Debian release. │
│ --ubuntu jammy Choose the Ubuntu release. │
│ --devuan stable Choose the Devuan release. │
│ --fetches INTEGER Number of mirrors to fetch. [defaults: 16, --auto(3)] │
│ --https-only Only get https mirrors. │
│ --sources Add the source repos for the mirrors if it exists. │
│ --non-free Add contrib and non-free repos. │
│ --auto Run fetch uninteractively. Will still prompt for overwrite. │
│ --debug Logs extra information for debugging. │
│ --assume-yes -y --assume-no -n Assume 'yes' or 'no' to all prompts. [default: n] │
│ --country -c US Choose only mirrors of a specific ISO country code. │
│ [default: None] │
│ --verbose -v Disable scrolling text and print extra information. │
│ --help -h Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

weak algorithm in `sudo nala update` for `grub-customizer`

when running sudo nala update the output has a line that says:

/usr/lib/python3/dist-packages/apt/cache.py:562: Warning: W:https://ppa.launchpadcontent.net/danielrichter2007/grub-customizer/ubuntu/dists/noble/InRelease: Signature by key 59DAD276B942642B1BBD0EACA8AA1FAA3F055C03 uses weak algorithm
(rsa1024)
res = self._cache.update(fetch_progress, slist, pulse_interval)

When i run sudo apt update nothing like that happens.

Can I ignore this or should we be worried? Should I post about this at the grub-customizer launchpad?

If uninstaller has interactive prompt, nala waits for input but doesn't show it

Running nala 0.14.0 on Pop!_OS 22.04.

Seems that when an uninstall script has some prompt, nala won't show it and it seems to just hang while running. Actually it's waiting for user input in the background and you can progress by pressing enter.

Found this while trying to uninstall a VPN client which asks you if you want to keep some config files.

❯ sudo nala purge pulsesecure (...)
======================================================================================================================================================================================================================================
 Purging                                                                                                                                                                                                                              
======================================================================================================================================================================================================================================
  Package:                                                                    Version:                                                                                                                                         Size:  
(...)
  pulsesecure                                                                 9.1.R15                                                                                                                                        31.0 MB  

                                                                                                                                                                                                                                      
======================================================================================================================================================================================================================================
 Summary                                                                                                                                                                                                                              
======================================================================================================================================================================================================================================
 Purge 10 Packages                                                                                                                                                                                                                    
                                                                                                                                                                                                                                      
      
Do you want to continue? [Y/n] y
╭─ Purging Packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
╭─ Purging Packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
(...)                                                         │
│Purging configuration files for pulsesecure (9.1.R15)                                                                                                                                                                               │

### This is where the uninstall hangs, after pressing enter it showed the prompt and kept running ###

│Save all current Pulse Secure configuration settings?[Yy/Nn]^J                                                                                                                                                                      │
│dpkg: warning: while removing pulsesecure, directory '/var/lib/pulsesecure/pulse' not empty so not removed                                                                                                                          │                                                                                                                                          │
│╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│
││✔ Running dpkg … ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 0:00:00 • 11/11││
│╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully

Multiple errors in recent days after weeks of Nala working fine here in the latest Ubuntu LTS.

nala
Traceback (most recent call last):
File "/usr/bin/nala", line 5, in
from nala.main import main
File "/usr/lib/python3/dist-packages/nala/main.py", line 30, in
import nala.fetch as _fetch # pylint: disable=unused-import
File "/usr/lib/python3/dist-packages/nala/fetch.py", line 37, in
import typer
File "/usr/lib/python3/dist-packages/typer/init.py", line 12, in
from click.termui import get_terminal_size as get_terminal_size
ImportError: cannot import name 'get_terminal_size' from 'click.termui' (/usr/local/lib/python3.10/dist-packages/click/termui.py)
Screenshot from 2023-06-26 20-20-32

...

Also, great sonic image for Nala! Haha. I know it was a cat, before. Now, it's a character I grew up with as a kid born in 89, as a 90s kid. ^_^ <3 🤝

Don't print stacktrace on standard error

In the case of missing root or missing arguments all the stack is printed then the error message.
Only the error message would be useful for standard known errors

From:

FileNotFoundError: [Errno 2] No such file or directory
Call stack:
  File "/build/nala-Skdmi8/nala-0.5.0/nala-cli.py", line 32, in <module>
  File "/build/nala-Skdmi8/nala-0.5.0/nala/__main__.py", line 209, in main
  File "/build/nala-Skdmi8/nala-0.5.0/nala/__main__.py", line 54, in _main
  File "/build/nala-Skdmi8/nala-0.5.0/nala/__main__.py", line 173, in sudo_check
Message: 'user tried to run [nala update] without permission'
Arguments: ()
Error: Nala needs root to update

To

Error: Nala needs root to update

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.