rhino-linux / rhino-pkg

A wrapper for apt + snap + flatpak + Pacstall
GNU General Public License v3.0
21 stars 20 forks source link

BUG: Updates fail (packages out of sync between apt/nala/pacstall?) #43

Closed nPHYN1T3 closed 4 months ago

nPHYN1T3 commented 4 months ago

Rhino Linux Version: Neofetch reports: Rhino Linux 2023.4 (mainline) x86_64 and Neofetch reports: Xubuntu Noble Numbat (development branch) x86_64

Platform: x86_64?

Describe the bug I've had two installs now self destruct due to apt/nala/pacstall somehow being out of sync and conflicting or not registering packages. I saw a few other bug reports about packages not being registered when installed/removed so perhaps this is a side effect of that.

To Reproduce This is a guess but I suspect just not update everyday to where some package dependencies leapfrog (version/release) the next expected by one of the packagemanagers.

Expected behavior Well just update the system! (duh heh) or give me something actionable to correct the teeter totter of cart before horse before egg before chicken scenario. So far all I get is "apt --fix-broken install" which also fails because of packages added with pacstall being noted as core dependencies and not installed despite being installed.

Fixing Broken Packages...
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /usr/lib/python3/dist-packages/nala/nala.py:347 in upgrade                   │
│                                                                              │
│   344 │   │   auto_remover(cache, nala_pkgs)                                 │
│   345 │   │   get_changes(cache, nala_pkgs, "upgrade")                       │
│   346 │                                                                      │
│ ❱ 347 │   _upgrade(exclude)                                                  │
│   348                                                                        │
│   349                                                                        │
│   350 @nala.command(help=_("Install packages."))                             │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │           _upgrade = <function upgrade.<locals>._upgrade at              │ │
│ │                      0x7fd4394980e0>                                     │ │
│ │         assume_yes = None                                                │ │
│ │        auto_remove = None                                                │ │
│ │        color_force = None                                                │ │
│ │              debug = None                                                │ │
│ │      download_only = None                                                │ │
│ │        dpkg_option = ['Acquire::AllowReleaseInfoChange=true']            │ │
│ │            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:293 in _upgrade                  │
│                                                                              │
│   290 │   ) -> None:                                                         │
│   291 │   │   """Upgrade pkg[s]."""                                          │
│   292 │   │   cache = nested_cache or setup_cache()                          │
│ ❱ 293 │   │   check_state(cache, nala_pkgs)                                  │
│   294 │   │                                                                  │
│   295 │   │   is_upgrade = tuple(cache.upgradable_pkgs())                    │
│   296 │   │   protected = cache.protect_upgrade_pkgs(exclude)                │
│                                                                              │
│ ╭─────────────────────────────── locals ────────────────────────────────╮    │
│ │     _upgrade = <function upgrade.<locals>._upgrade at 0x7fd4394980e0> │    │
│ │        cache = <nala.cache.Cache object at 0x7fd4395f3f20>            │    │
│ │      exclude = []                                                     │    │
│ │ nested_cache = None                                                   │    │
│ ╰───────────────────────────────────────────────────────────────────────╯    │
│                                                                              │
│ /usr/lib/python3/dist-packages/nala/install.py:977 in check_state            │
│                                                                              │
│    974 │   from nala.nala import _fix_broken                                 │
│    975 │                                                                     │
│    976 │   if cache.broken_count and arguments.fix_broken:                   │
│ ❱  977 │   │   _fix_broken(cache)                                            │
│    978 │   │   sys.exit()                                                    │
│    979 │   for raw_pkg in cache._cache.packages:                             │
│    980 │   │   if raw_pkg.current_state in (                                 │
│                                                                              │
│ ╭───────────────────────── locals ──────────────────────────╮                │
│ │ _fix_broken = <function _fix_broken at 0x7fd43960d620>    │                │
│ │       cache = <nala.cache.Cache object at 0x7fd4395f3f20> │                │
│ │   nala_pkgs = PackageHandler(                             │                │
│ │               │   autoremoved=set(),                      │                │
│ │               │   user_explicit=[],                       │                │
│ │               │   local_debs=[],                          │                │
│ │               │   not_needed=[],                          │                │
│ │               │   delete_pkgs=[],                         │                │
│ │               │   install_pkgs=[],                        │                │
│ │               │   reinstall_pkgs=[],                      │                │
│ │               │   upgrade_pkgs=[],                        │                │
│ │               │   autoremove_pkgs=[],                     │                │
│ │               │   autoremove_config=[],                   │                │
│ │               │   delete_config=[],                       │                │
│ │               │   recommend_pkgs=[],                      │                │
│ │               │   suggest_pkgs=[],                        │                │
│ │               │   configure_pkgs=[],                      │                │
│ │               │   downgrade_pkgs=[],                      │                │
│ │               │   held_pkgs=[]                            │                │
│ │               )                                           │                │
│ ╰───────────────────────────────────────────────────────────╯                │
│                                                                              │
│ /usr/lib/python3/dist-packages/nala/nala.py:124 in _fix_broken               │
│                                                                              │
│   121 │   """Attempt to fix broken packages, if any."""                      │
│   122 │   cache = nested_cache or setup_cache()                              │
│   123 │   print("Fixing Broken Packages...")                                 │
│ ❱ 124 │   cache.fix_broken()                                                 │
│   125 │                                                                      │
│   126 │   if nested_cache:                                                   │
│   127 │   │   print(color(_("There are broken packages that need to be fixed │
│                                                                              │
│ ╭────────────────────────── locals ──────────────────────────╮               │
│ │        cache = <nala.cache.Cache object at 0x7fd4395f3f20> │               │
│ │ nested_cache = <nala.cache.Cache object at 0x7fd4395f3f20> │               │
│ ╰────────────────────────────────────────────────────────────╯               │
│                                                                              │
│ /usr/lib/python3/dist-packages/apt/cache.py:161 in fix_broken                │
│                                                                              │
│    158 │                                                                     │
│    159 │   def fix_broken(self) -> None:                                     │
│    160 │   │   """Fix broken packages."""                                    │
│ ❱  161 │   │   self._depcache.fix_broken()                                   │
│    162 │                                                                     │
│    163 │   def _inc_changes_count(self) -> None:                             │
│    164 │   │   """Increase the number of changes"""                          │
│                                                                              │
│ ╭────────────────────── locals ──────────────────────╮                       │
│ │ self = <nala.cache.Cache object at 0x7fd4395f3f20> │                       │
│ ╰────────────────────────────────────────────────────╯                       │
╰──────────────────────────────────────────────────────────────────────────────╯
Error: E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused
by held packages.

    ____                  __        ____
   / __ \____ ___________/ /_____ _/ / /
  / /_/ / __ `/ ___/ ___/ __/ __ `/ / /
 / ____/ /_/ / /__(__  ) /_/ /_/ / / /
/_/    \__,_/\___/____/\__/\__,_/_/_/

[+] INFO: Updated from 4.3.2 (pacstall master) -> 4.3.2 (pacstall master)
Useful links:
    Website: https://pacstall.dev
    Packages: https://pacstall.dev/packages
    GitHub: https://github.com/pacstall
    Report Bugs: https://github.com/pacstall/pacstall/issues
    Discord: https://discord.gg/yzrjXJV6K8
    Matrix: https://matrix.to/#/#pacstall:matrix.org
[*] WARNING: Prompts are disabled
[+] INFO: Checking for updates
    [>] Building dependency tree
    [>] Checking versions

[+] INFO: Packages can be upgraded
Upgradable: 4
    rhino-core @ github:pacstall/pacstall-programs ( 2023.4-pacstall6 -> 2023.4-pacstall7 )
    firefox-bin @ github:pacstall/pacstall-programs ( 123.0-pacstall1 -> 124.0.2-pacstall1 )
    vscodium-deb @ github:pacstall/pacstall-programs ( 1.85.2.24019 -> 1.88.0.24096 )
    nala-deb @ github:pacstall/pacstall-programs ( 0.15.0 -> 0.15.1 )

Do you want to upgrade rhino-core? [Y/n] Y
(rhino-core) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: The pacstall dependency unicorn-desktop-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-kvantum-theme-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-plymouth-theme-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-pkg-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-neofetch-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-system-git is already installed and at latest version
[+] INFO: Installing pacstall-qa-git
[*] WARNING: Prompts are disabled
(pacstall-qa-git) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: Installing nushell-bin
[*] WARNING: Prompts are disabled
(nushell-bin) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: Retrieving packages
Initializing download: https://github.com/nushell/nushell/releases/download/0.92.2/nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
File size: 30.4756 Megabyte(s) (31955954 bytes)
Opening output file nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
Starting download

Connection 3 finished
Connection 0 finished
Connection 1 finished
[100%] [................................................................................................................................] [  10.8MB/s] [00:00]

Downloaded 30.4756 Megabyte(s) in 2 second(s). (11086.71 KB/s)
[+] INFO: Extracting nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
[+] INFO: Running functions
    [>] Running package
install: creating directory '/usr/src/pacstall/nushell-bin/usr'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/bin'
'./nu_plugin_query' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_query'
'./nu_plugin_inc' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_inc'
'./nu_plugin_custom_values' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_custom_values'
'./nu_plugin_formats' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_formats'
'./nu' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu'
'./nu_plugin_gstat' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_gstat'
'./nu_plugin_example' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_example'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell'
'README.txt' -> '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell/README.txt'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell'
'LICENSE' -> '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell/LICENSE'
[+] INFO: Packaging nushell-bin
    [>] Packing control.tar
    [>] Packing data.tar
    [>] Compressing
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 rhino-core : Depends: nushell-bin but it is not installed
              Depends: pacstall-qa but it is not installable
    [!] ERROR: Failed to install nushell-bin deb
dpkg: warning: ignoring request to remove nushell-bin, only the config
 files of which are on the system; use --purge to remove them too
[+] INFO: Cleaning up
[!] ERROR: Failed to install dependency
[!] ERROR: Failed to install pacstall-qa-git
[!] ERROR: Failed to install dependency
Do you want to upgrade firefox-bin? [Y/n] Y
/usr/share/pacstall/scripts/download.sh: line 44: firefox-bin.pacscript: No such file or directory
[!] ERROR: Could not download https://raw.githubusercontent.com/pacstall/pacstall-programs/master/packages/firefox-bin/firefox-bin.pacscript

or

Nala by way of rhino-pkg update Error: error processing archive /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb (--unpack): trying to overwrite '/usr/lib/os-release', which is also in package rhino-core 2023.4-pacstall7

Screenshots

Additional context On the one install I manually installed each github based dependency it says isn't installed but it never registers. I also tried numerous times to remove the firefox-bin and it says it's completed but never does. Each time I try to update there is it again with the "Do you want to upgrade firefox-bin? [Y/n]."

dpkg-debug.log

oklopfer commented 4 months ago

will look into this asap.

nPHYN1T3 commented 4 months ago

Thanks. Let me know if you need anything else I just attached the dpkg log as noted by the pacstall output to the original post.

oklopfer commented 4 months ago

@nPHYN1T3 can you please try the following: Run this twice: pacstall-qa -n 5887 -I rhino-core Making this a little easier/surefire, since I was able to test the issue:

  1. pacstall -BI rhino-core
  2. say y to edit, comment out the line starting with pacdeps, save and exit
  3. run sudo dpkg -i rhino-core.deb twice
  4. then, run sudo apt install --reinstall base-files
  5. finally, run pacstall -PI rhino-core
  6. rm rhino-core.deb to cleanup

let me know if you have any issues.

pacstall -BI rhino-core

[+] INFO: Package will be built and not installed
(rhino-core) Do you want to view/edit the pacscript? [y/N] y
# comment out the line starting with 'pacdeps' like so

sudo dpkg -i rhino-core.deb
sudo dpkg -i rhino-core.deb
sudo apt install --reinstall base-files
pacstall -PI rhino-core
rm rhino-core.deb
oklopfer commented 4 months ago

^ If any of the pacdeps fail to install, when you run pacstall-qa, say yes to edit, and comment out the pacdeps line.

This is a TEMPORARY fix, and after the system is resolved, another reinstall of rhino-core should immediately be done to put the pacdeps back in place.

nPHYN1T3 commented 4 months ago

(Sorry it took a bit trying to get the garden ready.)

One machine ran that fine the other died (so then I commented the pacdeps) and it finished.

However then moving on to rhino-pkg update and everything is DOA again. Same as before no nushell no pacstall rhino-core needs them bla bla. Then I have a 3rd machine that's updating just fine (though it takes hours).

Unpacking:  base-files (13ubuntu9) over (13ubuntu8)
dpkg: error processing archive /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/os-release', which is also in package rhino-core 2023.4-pacstall8
motd-news.service is a disabled or a static unit not running, not starting it.
Errors were encountered while processing:
 /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│⠙ Running dpkg … ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.1% • 1:10:09 • 2/2399│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Error: Installation has failed.
If you'd like to file a bug report please include '/var/log/nala/dpkg-debug.log'

Error: error processing archive /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb (--unpack):

Error: error processing archive /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/os-release', which is also in package rhino-core 2023.4-pacstall8
 trying to overwrite '/usr/lib/os-release', which is also in package rhino-core 2023.4-pacstall8

Errors were encountered while processing:
 /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb
[+] INFO: Extracting nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
[+] INFO: Running functions
    [>] Running package
install: creating directory '/usr/src/pacstall/nushell-bin/usr'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/bin'
'./nu_plugin_query' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_query'
'./nu_plugin_inc' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_inc'
'./nu_plugin_custom_values' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_custom_values'
'./nu_plugin_formats' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_formats'
'./nu' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu'
'./nu_plugin_gstat' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_gstat'
'./nu_plugin_example' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_example'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell'
'README.txt' -> '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell/README.txt'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell'
'LICENSE' -> '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell/LICENSE'
[+] INFO: Packaging nushell-bin
    [>] Packing control.tar
    [>] Packing data.tar
    [>] Compressing
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 rhino-core : Depends: nushell-bin but it is not installed
              Depends: pacstall-qa but it is not installable
    [!] ERROR: Failed to install nushell-bin deb
dpkg: warning: ignoring request to remove nushell-bin, only the config
 files of which are on the system; use --purge to remove them too
[+] INFO: Cleaning up
[!] ERROR: Failed to install dependency
[!] ERROR: Failed to install pacstall-qa-git
[!] ERROR: Failed to install dependency
[!] ERROR: Failed to install rhino-core
oklopfer commented 4 months ago

Can you try just re-running the steps again? I'm unable to replicate the issue in containers after they run it.

nPHYN1T3 commented 4 months ago

Running pacstall -BI rhino-core ; rhino-pkg update -y

Machine 1 Neofetch reports: Xubuntu Noble Numbat (development branch) x86_64

pacstall -BI rhino-core ; rhino-pkg update -y
[+] INFO: Package will be built and not installed
(rhino-core) Do you want to view/edit the pacscript? [y/N] 
[+] INFO: Sourcing pacscript
[+] INFO: The pacstall dependency unicorn-desktop-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-kvantum-theme-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-plymouth-theme-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-pkg-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-neofetch-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-system-git is already installed and at latest version
[+] INFO: Installing pacstall-qa-git
[*] WARNING: Prompts are disabled
(pacstall-qa-git) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: Installing nushell-bin
[*] WARNING: Prompts are disabled
(nushell-bin) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: Retrieving packages
Initializing download: https://github.com/nushell/nushell/releases/download/0.92.2/nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
File size: 30.4756 Megabyte(s) (31955954 bytes)
Opening output file nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
Starting download

Connection 1 finished
Connection 3 finished
Connection 0 finished
[100%] [................................................................................................................................] [  10.5MB/s] [00:00]

Downloaded 30.4756 Megabyte(s) in 2 second(s). (10772.46 KB/s)
[+] INFO: Extracting nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
[+] INFO: Running functions
    [>] Running package
install: creating directory '/usr/src/pacstall/nushell-bin/usr'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/bin'
'./nu_plugin_query' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_query'
'./nu_plugin_inc' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_inc'
'./nu_plugin_custom_values' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_custom_values'
'./nu_plugin_formats' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_formats'
'./nu' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu'
'./nu_plugin_gstat' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_gstat'
'./nu_plugin_example' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_example'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell'
'README.txt' -> '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell/README.txt'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell'
'LICENSE' -> '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell/LICENSE'
[+] INFO: Packaging nushell-bin
    [>] Packing control.tar
    [>] Packing data.tar
    [>] Compressing
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 rhino-core : Depends: nushell-bin but it is not installed
              Depends: pacstall-qa but it is not installable
    [!] ERROR: Failed to install nushell-bin deb
dpkg: warning: ignoring request to remove nushell-bin, only the config
 files of which are on the system; use --purge to remove them too
[+] INFO: Cleaning up
[!] ERROR: Failed to install dependency
[!] ERROR: Failed to install pacstall-qa-git
[!] ERROR: Failed to install dependency
[!] ERROR: Failed to install rhino-core
No Change: http://security.ubuntu.com/ubuntu ./devel-security InRelease
No Change: http://archive.ubuntu.com/ubuntu ./devel InRelease
No Change: http://archive.ubuntu.com/ubuntu ./devel-updates InRelease
No Change: http://archive.ubuntu.com/ubuntu ./devel-backports InRelease
Fetched 0 Bytes in 0s (0 bytes/s)                                                                                                                             
Fixing Broken Packages...
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /usr/lib/python3/dist-packages/nala/nala.py:347 in upgrade                                       │
│                                                                                                  │
│   344 │   │   auto_remover(cache, nala_pkgs)                                                     │
│   345 │   │   get_changes(cache, nala_pkgs, "upgrade")                                           │
│   346 │                                                                                          │
│ ❱ 347 │   _upgrade(exclude)                                                                      │
│   348                                                                                            │
│   349                                                                                            │
│   350 @nala.command(help=_("Install packages."))                                                 │
│                                                                                                  │
│ ╭────────────────────────────────── locals ───────────────────────────────────╮                  │
│ │           _upgrade = <function upgrade.<locals>._upgrade at 0x7ffbddca00e0> │                  │
│ │         assume_yes = None                                                   │                  │
│ │        auto_remove = None                                                   │                  │
│ │        color_force = None                                                   │                  │
│ │              debug = None                                                   │                  │
│ │      download_only = None                                                   │                  │
│ │        dpkg_option = ['Acquire::AllowReleaseInfoChange=true']               │                  │
│ │            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:293 in _upgrade                                      │
│                                                                                                  │
│   290 │   ) -> None:                                                                             │
│   291 │   │   """Upgrade pkg[s]."""                                                              │
│   292 │   │   cache = nested_cache or setup_cache()                                              │
│ ❱ 293 │   │   check_state(cache, nala_pkgs)                                                      │
│   294 │   │                                                                                      │
│   295 │   │   is_upgrade = tuple(cache.upgradable_pkgs())                                        │
│   296 │   │   protected = cache.protect_upgrade_pkgs(exclude)                                    │
│                                                                                                  │
│ ╭─────────────────────────────── locals ────────────────────────────────╮                        │
│ │     _upgrade = <function upgrade.<locals>._upgrade at 0x7ffbddca00e0> │                        │
│ │        cache = <nala.cache.Cache object at 0x7ffbde3895b0>            │                        │
│ │      exclude = []                                                     │                        │
│ │ nested_cache = None                                                   │                        │
│ ╰───────────────────────────────────────────────────────────────────────╯                        │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/install.py:977 in check_state                                │
│                                                                                                  │
│    974 │   from nala.nala import _fix_broken                                                     │
│    975 │                                                                                         │
│    976 │   if cache.broken_count and arguments.fix_broken:                                       │
│ ❱  977 │   │   _fix_broken(cache)                                                                │
│    978 │   │   sys.exit()                                                                        │
│    979 │   for raw_pkg in cache._cache.packages:                                                 │
│    980 │   │   if raw_pkg.current_state in (                                                     │
│                                                                                                  │
│ ╭───────────────────────── locals ──────────────────────────╮                                    │
│ │ _fix_broken = <function _fix_broken at 0x7ffbddc19620>    │                                    │
│ │       cache = <nala.cache.Cache object at 0x7ffbde3895b0> │                                    │
│ │   nala_pkgs = PackageHandler(                             │                                    │
│ │               │   autoremoved=set(),                      │                                    │
│ │               │   user_explicit=[],                       │                                    │
│ │               │   local_debs=[],                          │                                    │
│ │               │   not_needed=[],                          │                                    │
│ │               │   delete_pkgs=[],                         │                                    │
│ │               │   install_pkgs=[],                        │                                    │
│ │               │   reinstall_pkgs=[],                      │                                    │
│ │               │   upgrade_pkgs=[],                        │                                    │
│ │               │   autoremove_pkgs=[],                     │                                    │
│ │               │   autoremove_config=[],                   │                                    │
│ │               │   delete_config=[],                       │                                    │
│ │               │   recommend_pkgs=[],                      │                                    │
│ │               │   suggest_pkgs=[],                        │                                    │
│ │               │   configure_pkgs=[],                      │                                    │
│ │               │   downgrade_pkgs=[],                      │                                    │
│ │               │   held_pkgs=[]                            │                                    │
│ │               )                                           │                                    │
│ ╰───────────────────────────────────────────────────────────╯                                    │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/nala.py:124 in _fix_broken                                   │
│                                                                                                  │
│   121 │   """Attempt to fix broken packages, if any."""                                          │
│   122 │   cache = nested_cache or setup_cache()                                                  │
│   123 │   print("Fixing Broken Packages...")                                                     │
│ ❱ 124 │   cache.fix_broken()                                                                     │
│   125 │                                                                                          │
│   126 │   if nested_cache:                                                                       │
│   127 │   │   print(color(_("There are broken packages that need to be fixed!"), "YELLOW"))      │
│                                                                                                  │
│ ╭────────────────────────── locals ──────────────────────────╮                                   │
│ │        cache = <nala.cache.Cache object at 0x7ffbde3895b0> │                                   │
│ │ nested_cache = <nala.cache.Cache object at 0x7ffbde3895b0> │                                   │
│ ╰────────────────────────────────────────────────────────────╯                                   │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/apt/cache.py:161 in fix_broken                                    │
│                                                                                                  │
│    158 │                                                                                         │
│    159 │   def fix_broken(self) -> None:                                                         │
│    160 │   │   """Fix broken packages."""                                                        │
│ ❱  161 │   │   self._depcache.fix_broken()                                                       │
│    162 │                                                                                         │
│    163 │   def _inc_changes_count(self) -> None:                                                 │
│    164 │   │   """Increase the number of changes"""                                              │
│                                                                                                  │
│ ╭────────────────────── locals ──────────────────────╮                                           │
│ │ self = <nala.cache.Cache object at 0x7ffbde3895b0> │                                           │
│ ╰────────────────────────────────────────────────────╯                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
Error: E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

    ____                  __        ____
   / __ \____ ___________/ /_____ _/ / /
  / /_/ / __ `/ ___/ ___/ __/ __ `/ / /
 / ____/ /_/ / /__(__  ) /_/ /_/ / / /
/_/    \__,_/\___/____/\__/\__,_/_/_/

[+] INFO: Updated from 4.3.2 (pacstall master) -> 4.3.2 (pacstall master)
Useful links:
    Website: https://pacstall.dev
    Packages: https://pacstall.dev/packages
    GitHub: https://github.com/pacstall
    Report Bugs: https://github.com/pacstall/pacstall/issues
    Discord: https://discord.gg/yzrjXJV6K8
    Matrix: https://matrix.to/#/#pacstall:matrix.org
[*] WARNING: Prompts are disabled
[+] INFO: Checking for updates
    [>] Building dependency tree
    [>] Checking versions

[+] INFO: Packages can be upgraded
Upgradable: 4
    rhino-core @ github:pacstall/pacstall-programs ( 2023.4-pacstall6 -> 2023.4-pacstall8 )
    firefox-bin @ github:pacstall/pacstall-programs ( 123.0-pacstall1 -> 124.0.2-pacstall1 )
    vscodium-deb @ github:pacstall/pacstall-programs ( 1.85.2.24019 -> 1.88.0.24096 )
    nala-deb @ github:pacstall/pacstall-programs ( 0.15.0 -> 0.15.1 )

Do you want to upgrade rhino-core? [Y/n] Y
(rhino-core) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: The pacstall dependency unicorn-desktop-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-kvantum-theme-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-plymouth-theme-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-pkg-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-neofetch-git is already installed and at latest version
[+] INFO: The pacstall dependency rhino-system-git is already installed and at latest version
[+] INFO: Installing pacstall-qa-git
[*] WARNING: Prompts are disabled
(pacstall-qa-git) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: Installing nushell-bin
[*] WARNING: Prompts are disabled
(nushell-bin) Do you want to view/edit the pacscript? [y/N] N
[+] INFO: Sourcing pacscript
[+] INFO: Retrieving packages
Initializing download: https://github.com/nushell/nushell/releases/download/0.92.2/nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
File size: 30.4756 Megabyte(s) (31955954 bytes)
Opening output file nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
Starting download

Connection 0 finished
Connection 2 finished
Connection 3 finished
[100%] [................................................................................................................................] [  11.1MB/s] [00:00]

Downloaded 30.4756 Megabyte(s) in 2 second(s). (11350.45 KB/s)
[+] INFO: Extracting nu-0.92.2-x86_64-unknown-linux-gnu.tar.gz
[+] INFO: Running functions
    [>] Running package
install: creating directory '/usr/src/pacstall/nushell-bin/usr'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/bin'
'./nu_plugin_query' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_query'
'./nu_plugin_inc' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_inc'
'./nu_plugin_custom_values' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_custom_values'
'./nu_plugin_formats' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_formats'
'./nu' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu'
'./nu_plugin_gstat' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_gstat'
'./nu_plugin_example' -> '/usr/src/pacstall/nushell-bin/usr/bin/nu_plugin_example'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell'
'README.txt' -> '/usr/src/pacstall/nushell-bin/usr/share/doc/nushell/README.txt'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses'
install: creating directory '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell'
'LICENSE' -> '/usr/src/pacstall/nushell-bin/usr/share/licenses/nushell/LICENSE'
[+] INFO: Packaging nushell-bin
    [>] Packing control.tar
    [>] Packing data.tar
    [>] Compressing
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 rhino-core : Depends: nushell-bin but it is not installed
              Depends: pacstall-qa but it is not installable
    [!] ERROR: Failed to install nushell-bin deb
dpkg: warning: ignoring request to remove nushell-bin, only the config
 files of which are on the system; use --purge to remove them too
[+] INFO: Cleaning up
[!] ERROR: Failed to install dependency
[!] ERROR: Failed to install pacstall-qa-git
[!] ERROR: Failed to install dependency
Do you want to upgrade firefox-bin? [Y/n] Y
/usr/share/pacstall/scripts/download.sh: line 44: firefox-bin.pacscript: No such file or directory
[!] ERROR: Could not download https://raw.githubusercontent.com/pacstall/pacstall-programs/master/packages/firefox-bin/firefox-bin.pacscript

Machine 2 Neofetch reports: Rhino Linux 2023.4 (mainline) x86_64

Truncated (my term doesn't go back the few thousand lines)
Install   10 Packages                                                                                                
 Upgrade 1180 Packages                                                                                                
 Remove     9 Packages                                                                                                

 Disk space required  8.2 MB   

Extracting templates from packages: 100%
Preconfiguring packages ...
Unpacking:  base-files (13ubuntu9) over (13ubuntu8)
dpkg: error processing archive /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/os-release', which is also in package rhino-core 2023.4-pacstall8
motd-news.service is a disabled or a static unit not running, not starting it.
Errors were encountered while processing:
 /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│⠹ Running dpkg … ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.1% • 1:11:06 • 2/2399│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Error: Installation has failed.
If you'd like to file a bug report please include '/var/log/nala/dpkg-debug.log'

Error: error processing archive /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb (--unpack):

Error: error processing archive /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/os-release', which is also in package rhino-core 2023.4-pacstall8
 trying to overwrite '/usr/lib/os-release', which is also in package rhino-core 2023.4-pacstall8

Errors were encountered while processing:
 /var/cache/apt/archives/base-files_13ubuntu9_amd64.deb

    ____                  __        ____
   / __ \____ ___________/ /_____ _/ / /
  / /_/ / __ `/ ___/ ___/ __/ __ `/ / /
 / ____/ /_/ / /__(__  ) /_/ /_/ / / /
/_/    \__,_/\___/____/\__/\__,_/_/_/

[+] INFO: Updated from 4.3.2 (pacstall master) -> 4.3.2 (pacstall master)
Useful links:
    Website: https://pacstall.dev
    Packages: https://pacstall.dev/packages
    GitHub: https://github.com/pacstall
    Report Bugs: https://github.com/pacstall/pacstall/issues
    Discord: https://discord.gg/yzrjXJV6K8
    Matrix: https://matrix.to/#/#pacstall:matrix.org
[*] WARNING: Prompts are disabled
[+] INFO: Checking for updates
    [>] Building dependency tree
    [>] Checking versions
[+] INFO: Nothing to upgrade
oklopfer commented 4 months ago

Please don't run rhino-pkg update -y in this yet. You should be doing the following:

pacstall -BI rhino-core

[+] INFO: Package will be built and not installed
(rhino-core) Do you want to view/edit the pacscript? [y/N] y
# comment out the line starting with 'pacdeps' like so

# yes, run this part twice
sudo dpkg -i rhino-core.deb
sudo dpkg -i rhino-core.deb 
sudo apt install --reinstall base-files
pacstall -PI rhino-core
rm rhino-core.deb
nPHYN1T3 commented 4 months ago

So far so good, any idea what the hell is causing this? (I ran rhino-pkg update -y, I didn't even notice the please don't run bit sorry.)

So far despite slightly different issues both machines seem to be behaving. I'm sorry if I screwed a chance to maybe catch something in a log by postponing the rhino-pkg update. As long as this finishes without a hitch you saved my bacon so thank you! Hopefully you can still figure out / catch what's causing this failure to play nice between the package management bits.

oklopfer commented 4 months ago

I know what is causing it, and even why, I just don't fully know how:

once base-files is installed correctly again, you should be able to run rhino-pkg update -y without issues.

Side note: this unfortunately causes a problem between replacing -core packages with each other now, so another fix will have to come shortly. This should at least fix your dependency issue, though.

nPHYN1T3 commented 4 months ago

Things are still trucking along so fingers crossed. It's always something! heh. Well hopefully this hole can get plugged. Seems like a fragile dance for sure. Again thank you for your time.

(Just noticed on the one machine nala was being downgraded - hopefully nothing explodes.)

oklopfer commented 4 months ago

the nala downgrade is a bug with nala itself (we have reported it upstream). you may have to re-run pacstall -PI nala-deb if it ends up missing.

also, seems like the issue might've been with us using --no-rename instead of --rename (which I also had adjusted), and the post_remove part might be re-introduced. still a bit of a mystery 🤦

nPHYN1T3 commented 4 months ago

Well you seem to have several areas to explore to quash this which I consider good. Better than flying blind with no idea what might be the cause. I've been dogged by some crap where I just have no idea lately. No matter where I add hooks to sus out debug info the issue is never where I look...and the torment continues! heh.

oklopfer commented 4 months ago

Alright, that issue had been fixed now. Notably, though, building with the -B flag and manually installing with dpkg as we used for the fix here will no longer repair the diversions now, it must be built without the -B flag and installed automatically. Otherwise base-files won't be able to overwrite it again.

This shouldn't affect you at this point, but putting it here for posterity.

nPHYN1T3 commented 4 months ago

Glad to hear, I'll mark closed and again thank you very much for your time.