topgrade-rs / topgrade

Upgrade all the things
GNU General Public License v3.0
1.9k stars 123 forks source link

topgrade delete deb-get repo list on /etc/deb-get/01-main.repo #429

Closed dnet890 closed 1 year ago

dnet890 commented 1 year ago

What did you expect to happen?

I type topgrade --skip-notify and it should update the package properly without delete my repo

What actually happened?

after I typed topgrade --skip notify and I type deb-get list to check my repo, it is gone (https://github.com/wimpysworld/deb-get/issues/826)

Additional Details

── 10:11:27 - System update ──────────────────────────────────────────────────── Dry running: /usr/bin/sudo /usr/bin/apt-fast update Dry running: /usr/bin/sudo /usr/bin/apt-fast dist-upgrade

── 10:11:27 - Atom Package Manager ───────────────────────────────────────────── Dry running: /usr/bin/apm upgrade '--confirm=false' Dry running: /usr/bin/dotnet tool list --global

── 10:11:27 - Cargo ──────────────────────────────────────────────────────────── Dry running: /home/user/.cargo/bin/cargo-install-update install-update --git --all

── 10:11:27 - pip3 ───────────────────────────────────────────────────────────── Dry running: /usr/bin/python3 -m pip install --upgrade --user pip

── 10:11:27 - Node Package Manager ─────────────────────────────────────────────

── 10:11:28 - Containers ─────────────────────────────────────────────────────── Dry running: /home/user/.local/podman/bin/podman pull docker.io/library/archlinux:latest Dry running: /home/user/.local/podman/bin/podman pull docker.io/library/debian:unstable Dry running: /home/user/.local/podman/bin/podman pull registry.fedoraproject.org/fedora:37 Dry running: /home/user/.local/podman/bin/podman pull registry.fedoraproject.org/fedora-toolbox:36

── 10:11:28 - deb-get ────────────────────────────────────────────────────────── Dry running: /usr/bin/sudo '--preserve-env=DIFFPROG' /usr/bin/deb-get update Dry running: /usr/bin/sudo '--preserve-env=DIFFPROG' /usr/bin/deb-get upgrade

── 10:11:28 - Flatpak User Packages ──────────────────────────────────────────── Dry running: /usr/bin/flatpak update --user

── 10:11:28 - Flatpak System Packages ────────────────────────────────────────── Dry running: /usr/bin/flatpak update --system

── 10:11:28 - snap ───────────────────────────────────────────────────────────── Dry running: /usr/bin/sudo /usr/bin/snap refresh

── 10:11:28 - protonup ───────────────────────────────────────────────────────── Dry running: /home/user/.local/bin/protonup

── 10:11:28 - Distrobox ──────────────────────────────────────────────────────── Dry running: /home/user/.local/bin/distrobox upgrade --all

── 10:11:28 - Firmware upgrades ──────────────────────────────────────────────── Dry running: /usr/bin/fwupdmgr refresh Dry running: /usr/bin/fwupdmgr get-updates

── 10:11:28 - Summary ────────────────────────────────────────────────────────── System update: OK config-update: OK apm: OK cargo: OK pip3: OK Containers: OK deb-get: OK Flatpak: OK snap: OK protonup: OK distrobox: OK Firmware upgrades: OK

DEBUG Configuration at /home/user/.config/topgrade.toml
DEBUG Loaded configuration: ConfigFile { sudo_command: None, pre_sudo: None, pre_commands: Some({}), post_commands: None, commands: Some({}), git_repos: None, predefined_git_repos: None, disable: None, ignore_failures: None, remote_topgrades: None, remote_topgrade_path: None, ssh_arguments: None, git_arguments: None, tmux_arguments: None, set_title: None, display_time: None, display_preamble: None, assume_yes: None, yay_arguments: None, aura_aur_arguments: None, aura_pacman_arguments: None, python: None, no_retry: None, run_in_tmux: None, cleanup: None, notify_each_step: None, accept_all_windows_updates: None, skip_notify: None, bashit_branch: None, only: None, composer: Some(Composer { self_update: None }), brew: Some(Brew { greedy_cask: None, autoremove: None }), linux: Some(Linux { yay_arguments: None, aura_aur_arguments: None, aura_pacman_arguments: None, arch_package_manager: None, show_arch_news: None, garuda_update_arguments: None, trizen_arguments: None, pikaur_arguments: None, pamac_arguments: None, dnf_arguments: None, nix_arguments: None, apt_arguments: None, enable_tlmgr: None, redhat_distro_sync: None, rpm_ostree: None, emerge_sync_flags: None, emerge_update_flags: None }), git: Some(Git { max_concurrency: None, arguments: None, repos: None, pull_predefined: None }), windows: Some(Windows { accept_all_updates: None, self_rename: None, open_remotes_in_new_terminal: None, enable_winget: None, wsl_update_pre_release: None, wsl_update_use_web_download: None }), npm: Some(NPM { use_sudo: None }), yarn: None, vim: None, firmware: Some(Firmware { upgrade: None }), vagrant: None, flatpak: Some(Flatpak { use_sudo: None }), distrobox: None, no_self_update: None }
DEBUG Detected "/usr/bin/notify-send" as "notify-send"
DEBUG Version: 11.0.0
DEBUG OS: x86_64-unknown-linux-gnu
DEBUG Args { inner: ["topgrade", "--dry-run", "-v"] }
DEBUG Binary path: Ok("/home/user/.cargo/bin/topgrade")
DEBUG Self Update: false
Due to a design issue with notify-send it could be that topgrade hangs when it's finished.
If this is the case on your system add the --skip-notify flag to the topgrade command or set skip_notify = true in the config file.
If you don't want this message to appear any longer set display_preamble = false in the config file.
For more information about this issue see https://askubuntu.com/questions/110969/notify-send-ignores-timeout and https://github.com/topgrade-rs/topgrade/issues/288.
DEBUG Detected "/usr/bin/git" as "git"
DEBUG Cannot find "doas"
DEBUG Cannot find "please"
DEBUG Detected "/usr/bin/sudo" as "sudo"
DEBUG Detected "/usr/bin/pwsh" as "pwsh"
DEBUG Executing command `/usr/bin/pwsh -NoProfile -Command 'Split-Path $profile'`
DEBUG Step "System update"

── 10:12:21 - System update ────────────────────────────────────────────────────
DEBUG Detected "/usr/bin/apt-fast" as "apt-fast"
Dry running: /usr/bin/sudo /usr/bin/apt-fast update
Dry running: /usr/bin/sudo /usr/bin/apt-fast dist-upgrade
DEBUG Step "config-update"
DEBUG Step "Brew"
DEBUG Step "yadm"
DEBUG Step "nix"
DEBUG Step "guix"
DEBUG Step "home-manager"
DEBUG Step "asdf"
DEBUG Step "pkgin"
DEBUG Step "bun"
DEBUG Path "/home/user/.config/emacs" doesn't exist
DEBUG Path "/home/user/.emacs.d" doesn't exist
DEBUG /home/user/.doom.d does not exists
DEBUG /home/user/.vim does not exists
DEBUG /home/user/.config/nvim does not exists
DEBUG /home/user/.ideavimrc does not exists
DEBUG /home/user/.intellimacs does not exists
DEBUG /home/user/.dotfiles does not exists
DEBUG /home/user/.zshrc does not exists
DEBUG /home/user/.tmux does not exists
DEBUG /home/user/.config/fish does not exists
DEBUG /home/user/.config/openbox does not exists
DEBUG /home/user/.config/bspwm does not exists
DEBUG /home/user/.config/i3 does not exists
DEBUG /home/user/.config/sway does not exists
DEBUG Step "Git repositories"
DEBUG Step "zr"
DEBUG Step "antibody"
DEBUG Step "antidote"
DEBUG Step "antigen"
DEBUG Step "zgenom"
DEBUG Step "zplug"
DEBUG Step "zinit"
DEBUG Step "zi"
DEBUG Step "zim"
DEBUG Step "oh-my-zsh"
DEBUG Step "fisher"
DEBUG Step "bash-it"
DEBUG Step "oh-my-fish"
DEBUG Step "fish-plug"
DEBUG Step "fundle"
DEBUG Step "tmux"
DEBUG Step "TLDR"
DEBUG Step "pearl"
DEBUG Step "Gnome Shell Extensions"
DEBUG Detected "/usr/bin/gdbus" as "gdbus"
DEBUG Step "SDKMAN!"
DEBUG Detected "/usr/bin/bash" as "bash"
DEBUG Step "rcm"
DEBUG Step "apm"
DEBUG Detected "/usr/bin/apm" as "apm"

── 10:12:21 - Atom Package Manager ─────────────────────────────────────────────
Dry running: /usr/bin/apm upgrade '--confirm=false'
DEBUG Step "fossil"
DEBUG Step "rustup"
DEBUG Step "juliaup"
DEBUG Step ".NET"
DEBUG Detected "/usr/bin/dotnet" as "dotnet"
Dry running: /usr/bin/dotnet tool list --global
DEBUG Step "choosenim"
DEBUG Step "cargo"
DEBUG Path "/home/user/.cargo" exists
DEBUG Detected "/usr/bin/cargo" as "cargo"
DEBUG Path "/home/user/.cargo/.crates.toml" exists

── 10:12:21 - Cargo ────────────────────────────────────────────────────────────
DEBUG Detected "/home/user/.cargo/bin/cargo-install-update" as "cargo-install-update"
Dry running: /home/user/.cargo/bin/cargo-install-update install-update --git --all
DEBUG Step "Flutter"
DEBUG Step "go-global-update"
DEBUG Step "gup"
DEBUG Step "Emacs"
DEBUG Step "opam"
DEBUG Step "vcpkg"
DEBUG Step "pipx"
DEBUG Step "conda"
DEBUG Step "mamba"
DEBUG Step "pip3"
DEBUG Detected "/usr/bin/python3" as "python3"
DEBUG Executing command `/usr/bin/python3 -m pip`
DEBUG Executing command `/usr/bin/python3 -c 'import sysconfig; from os import path; print('\''Y'\'') if path.isfile(path.join(sysconfig.get_path('\''stdlib'\''), '\''EXTERNALLY-MANAGED'\'')) else print('\''N'\'')'`

── 10:12:21 - pip3 ─────────────────────────────────────────────────────────────
Dry running: /usr/bin/python3 -m pip install --upgrade --user pip
DEBUG Step "pip-review"
DEBUG Step "pipupgrade"
DEBUG Step "ghcup"
DEBUG Step "stack"
DEBUG Step "tlmgr"
DEBUG Step "myrepos"
DEBUG Step "chezmoi"
DEBUG Step "jetpack"
DEBUG Step "vim"
DEBUG Detected "/usr/bin/vim" as "vim"
DEBUG Executing command `/usr/bin/vim --version`
DEBUG Step "Neovim"
DEBUG Step "The Ultimate vimrc"
DEBUG Step "voom"
DEBUG Step "Kakoune"
DEBUG Step "helix"
DEBUG Step "npm"
DEBUG Detected "/usr/local/bin/npm" as "npm"

── 10:12:21 - Node Package Manager ─────────────────────────────────────────────
DEBUG Executing command `/usr/local/bin/npm --version`
DEBUG Executing command `/usr/local/bin/npm root '--location=global'`
DEBUG Step "yarn"
DEBUG Step "pnpm"
DEBUG Step "Containers"
DEBUG Detected "/home/user/.local/podman/bin/podman" as "podman"
DEBUG Using container runtime '/home/user/.local/podman/bin/podman'

── 10:12:22 - Containers ───────────────────────────────────────────────────────
DEBUG Querying '/home/user/.local/podman/bin/podman image ls --format "{{.Repository}}:{{.Tag}}"' for containers
DEBUG Executing command `/home/user/.local/podman/bin/podman image ls --format {{.Repository}}:{{.Tag}}`
DEBUG Using container 'docker.io/library/archlinux:latest'
DEBUG Skipping bogus container ':'
DEBUG Using container 'docker.io/library/debian:unstable'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Using container 'registry.fedoraproject.org/fedora:37'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Using container 'registry.fedoraproject.org/fedora-toolbox:36'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Skipping bogus container ':'
DEBUG Containers to inspect: ["docker.io/library/archlinux:latest", "docker.io/library/debian:unstable", "registry.fedoraproject.org/fedora:37", "registry.fedoraproject.org/fedora-toolbox:36"]
DEBUG Pulling container 'docker.io/library/archlinux:latest'
Dry running: /home/user/.local/podman/bin/podman pull docker.io/library/archlinux:latest
DEBUG Pulling container 'docker.io/library/debian:unstable'
Dry running: /home/user/.local/podman/bin/podman pull docker.io/library/debian:unstable
DEBUG Pulling container 'registry.fedoraproject.org/fedora:37'
Dry running: /home/user/.local/podman/bin/podman pull registry.fedoraproject.org/fedora:37
DEBUG Pulling container 'registry.fedoraproject.org/fedora-toolbox:36'
Dry running: /home/user/.local/podman/bin/podman pull registry.fedoraproject.org/fedora-toolbox:36
DEBUG Step "deno"
DEBUG Step "composer"
DEBUG Step "krew"
DEBUG Step "helm"
DEBUG Step "gem"
DEBUG Detected "/usr/bin/gem" as "gem"
DEBUG Step "rubygems"
DEBUG Step "julia"
DEBUG Step "haxelib"
DEBUG Step "sheldon"
DEBUG Step "rtcl"
DEBUG Step "bin"
DEBUG Step "gcloud"
DEBUG Step "micro"
DEBUG Step "raco"
DEBUG Step "spicetify"
DEBUG Step "GitHub CLI Extensions"
DEBUG Step "am"
DEBUG Step "deb-get"
DEBUG Detected "/usr/bin/deb-get" as "deb-get"

── 10:12:22 - deb-get ──────────────────────────────────────────────────────────
Dry running: /usr/bin/sudo '--preserve-env=DIFFPROG' /usr/bin/deb-get update
Dry running: /usr/bin/sudo '--preserve-env=DIFFPROG' /usr/bin/deb-get upgrade
DEBUG Step "toolbx"
DEBUG Step "Flatpak"
DEBUG Detected "/usr/bin/flatpak" as "flatpak"

── 10:12:22 - Flatpak User Packages ────────────────────────────────────────────
Dry running: /usr/bin/flatpak update --user

── 10:12:22 - Flatpak System Packages ──────────────────────────────────────────
Dry running: /usr/bin/flatpak update --system
DEBUG Step "snap"
DEBUG Detected "/usr/bin/snap" as "snap"

── 10:12:22 - snap ─────────────────────────────────────────────────────────────
Dry running: /usr/bin/sudo /usr/bin/snap refresh
DEBUG Step "pacstall"
DEBUG Step "pacdef"
DEBUG Step "protonup"
DEBUG Detected "/home/user/.local/bin/protonup" as "protonup"

── 10:12:22 - protonup ─────────────────────────────────────────────────────────
Dry running: /home/user/.local/bin/protonup 
DEBUG Step "distrobox"
DEBUG Detected "/home/user/.local/bin/distrobox" as "distrobox"

── 10:12:22 - Distrobox ────────────────────────────────────────────────────────
Dry running: /home/user/.local/bin/distrobox upgrade --all
DEBUG Step "dkp-pacman"
DEBUG Step "pihole"
DEBUG Step "Firmware upgrades"
DEBUG Detected "/usr/bin/fwupdmgr" as "fwupdmgr"
DEBUG Executing command `uname -r`
DEBUG Uname output: 5.15.0-71-generic

── 10:12:22 - Firmware upgrades ────────────────────────────────────────────────
Dry running: /usr/bin/fwupdmgr refresh
Dry running: /usr/bin/fwupdmgr get-updates
DEBUG Step "Restarts"
DEBUG Step "Vagrant boxes"

── 10:12:22 - Summary ──────────────────────────────────────────────────────────
System update: OK
config-update: OK
Brew: SKIPPED: Cannot find "brew" in PATH
yadm: SKIPPED: Cannot find "yadm" in PATH
nix: SKIPPED: Cannot find "nix" in PATH
guix: SKIPPED: Cannot find "guix" in PATH
home-manager: SKIPPED: Cannot find "home-manager" in PATH
asdf: SKIPPED: Cannot find "asdf" in PATH
pkgin: SKIPPED: Cannot find "pkgin" in PATH
bun: SKIPPED: Cannot find "bun" in PATH
Git repositories: SKIPPED: No repositories to pull
zr: SKIPPED: Cannot find "zsh" in PATH
antibody: SKIPPED: Cannot find "zsh" in PATH
antidote: SKIPPED: Cannot find "zsh" in PATH
antigen: SKIPPED: Cannot find "zsh" in PATH
zgenom: SKIPPED: Cannot find "zsh" in PATH
zplug: SKIPPED: Cannot find "zsh" in PATH
zinit: SKIPPED: Cannot find "zsh" in PATH
zi: SKIPPED: Cannot find "zsh" in PATH
zim: SKIPPED: Cannot find "zsh" in PATH
oh-my-zsh: SKIPPED: Cannot find "zsh" in PATH
fisher: SKIPPED: Cannot find "fish" in PATH
bash-it: SKIPPED: Path "/home/user/.bash_it" doesn't exist
oh-my-fish: SKIPPED: Cannot find "fish" in PATH
fish-plug: SKIPPED: Cannot find "fish" in PATH
fundle: SKIPPED: Cannot find "fish" in PATH
tmux: SKIPPED: Path "/home/user/.tmux/plugins/tpm/bin/update_plugins" doesn't exist
TLDR: SKIPPED: Cannot find "tldr" in PATH
pearl: SKIPPED: Cannot find "pearl" in PATH
Gnome Shell Extensions: SKIPPED: Desktop doest not appear to be gnome
SDKMAN!: SKIPPED: Path "/home/user/.sdkman/bin/sdkman-init.sh" doesn't exist
rcm: SKIPPED: Cannot find "rcup" in PATH
apm: OK
fossil: SKIPPED: Cannot find "fossil" in PATH
rustup: SKIPPED: Cannot find "rustup" in PATH
juliaup: SKIPPED: Cannot find "juliaup" in PATH
.NET: SKIPPED: Error running `dotnet tool list`. This is expected when a dotnet runtime is installed but no SDK.
choosenim: SKIPPED: Cannot find "choosenim" in PATH
cargo: OK
Flutter: SKIPPED: Cannot find "flutter" in PATH
go-global-update: SKIPPED: Cannot find "go" in PATH
gup: SKIPPED: Cannot find "go" in PATH
Emacs: SKIPPED: Cannot find "emacs" in PATH
opam: SKIPPED: Cannot find "opam" in PATH
vcpkg: SKIPPED: Cannot find "vcpkg" in PATH
pipx: SKIPPED: Cannot find "pipx" in PATH
conda: SKIPPED: Cannot find "conda" in PATH
mamba: SKIPPED: Cannot find "mamba" in PATH
pip3: OK
pip-review: SKIPPED: Cannot find "pip-review" in PATH
pipupgrade: SKIPPED: Cannot find "pipupgrade" in PATH
ghcup: SKIPPED: Cannot find "ghcup" in PATH
stack: SKIPPED: Cannot find "stack" in PATH
tlmgr: SKIPPED: tlmgr must be explicity enabled in the configuration to run in Android/Linux
myrepos: SKIPPED: Cannot find "mr" in PATH
chezmoi: SKIPPED: Cannot find "chezmoi" in PATH
jetpack: SKIPPED: Cannot find "jetpack" in PATH
vim: SKIPPED: Path "/home/user/.vim/vimrc" doesn't exist
Neovim: SKIPPED: Cannot find "nvim" in PATH
The Ultimate vimrc: SKIPPED: Path "/home/user/.vim_runtime" doesn't exist
voom: SKIPPED: Cannot find "voom" in PATH
Kakoune: SKIPPED: Cannot find "kak" in PATH
helix: SKIPPED: Cannot find "helix" in PATH
npm: SKIPPED: NPM root is owned by another user which is not the current user. Set use_sudo = true under the NPM section in your configuration to run NPM as sudo
yarn: SKIPPED: Cannot find "yarn" in PATH
pnpm: SKIPPED: Cannot find "pnpm" in PATH
Containers: OK
deno: SKIPPED: Cannot find "deno" in PATH
composer: SKIPPED: Cannot find "composer" in PATH
krew: SKIPPED: Cannot find "kubectl-krew" in PATH
helm: SKIPPED: Cannot find "helm" in PATH
gem: SKIPPED: Path "/home/user/.gem" doesn't exist
rubygems: SKIPPED: Path "/home/user/.gem" doesn't exist
julia: SKIPPED: Cannot find "julia" in PATH
haxelib: SKIPPED: Cannot find "haxelib" in PATH
sheldon: SKIPPED: Cannot find "sheldon" in PATH
rtcl: SKIPPED: Cannot find "rupdate" in PATH
bin: SKIPPED: Cannot find "bin" in PATH
gcloud: SKIPPED: Cannot find "gcloud" in PATH
micro: SKIPPED: Cannot find "micro" in PATH
raco: SKIPPED: Cannot find "raco" in PATH
spicetify: SKIPPED: Cannot find "spicetify" in PATH
GitHub CLI Extensions: SKIPPED: Cannot find "gh" in PATH
am: SKIPPED: Cannot find "am" in PATH
deb-get: OK
toolbx: SKIPPED: Cannot find "toolbox" in PATH
Flatpak: OK
snap: OK
pacstall: SKIPPED: Cannot find "pacstall" in PATH
pacdef: SKIPPED: Cannot find "pacdef" in PATH
protonup: OK
distrobox: OK
dkp-pacman: SKIPPED: Cannot find "dkp-pacman" in PATH
pihole: SKIPPED: Cannot find "pihole" in PATH
Firmware upgrades: OK
Restarts: SKIPPED: Cannot find "needrestart" in PATH
Vagrant boxes: SKIPPED: Cannot find "vagrant" in PATH
DEBUG Desktop notification: Topgrade finished successfully
DEBUG Executing command `/usr/bin/notify-send -t 10000 -a Topgrade Topgrade 'Topgrade finished successfully'`

SteveLauC commented 1 year ago

Just gave a quick glance at the issue you filed in deb-get, it seems that the root cause of this problem is still not found yet.


But there is one thing we can do in topgrade, from this comment, deb-get should not be executed with sudo, in the current impl of topgrade, it is: https://github.com/topgrade-rs/topgrade/blob/14753a14e70d2931ec71eebf23f93e7060288e58/src/steps/os/linux.rs#L471-L484

That execute_elevated() function uses sudo underneath and this can also be reflected in your log:


── 10:12:22 - deb-get ──────────────────────────────────────────────────────────

Dry running: /usr/bin/sudo '--preserve-env=DIFFPROG' /usr/bin/deb-get update

Dry running: /usr/bin/sudo '--preserve-env=DIFFPROG' /usr/bin/deb-get upgrade
dnet890 commented 1 year ago

ok, so how to prevent topgrade to run sudo deb-get?

SteveLauC commented 1 year ago

ok, so how to prevent topgrade to run sudo deb-get?

Let me give it a fix:)