From 3b6c18395ba4fe428f6d9ec438ef4fe962339a7b Mon Sep 17 00:00:00 2001 From: Konstantin Demin Date: Tue, 8 Jul 2025 12:15:36 +0300 Subject: [PATCH] zsh: openwrt-related goodies listing archives with apk-tools 3.0.0_pre20250606 is PITA --- .config/dotfiles/gitignore | 1 + .config/zsh/alias/openwrt.zsh | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 .config/zsh/alias/openwrt.zsh diff --git a/.config/dotfiles/gitignore b/.config/dotfiles/gitignore index 23b561b..874ca5e 100644 --- a/.config/dotfiles/gitignore +++ b/.config/dotfiles/gitignore @@ -29,6 +29,7 @@ !/.config/zsh/alias/k8s.zsh !/.config/zsh/alias/kconfig.zsh !/.config/zsh/alias/ls.zsh +!/.config/zsh/alias/openwrt.zsh !/.config/zsh/alias/quilt.zsh !/.config/zsh/alias/sbuild.zsh !/.config/zsh/alias/sudo.zsh diff --git a/.config/zsh/alias/openwrt.zsh b/.config/zsh/alias/openwrt.zsh new file mode 100644 index 0000000..b85ef41 --- /dev/null +++ b/.config/zsh/alias/openwrt.zsh @@ -0,0 +1,14 @@ +#!/bin/zsh + +openwrt-apk-list() { + local i w + w=$(mktemp -d) ; : "${w:?}" + for i ; do + [ -n "$i" ] || continue + find "$w/" -mindepth 1 -maxdepth 1 -exec rm -rf {} + + find "$w/" -mindepth 1 -maxdepth 1 -exec rm -rf {} + || return + openwrt-apk extract --no-cache --no-logfile --no-network --no-check-certificate --allow-untrusted --no-chown --destination "$w" "$i" + env -C "$w" find ./ -mindepth 1 -exec ls -ldgG --color {} + + done + rm -rf "$w" +}