| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
base-files: symlink upstream distro logos to Armbian's Ubuntu hardcodes lookups for ubuntu-logo.svg, ubuntu-logo-text.png, and ubuntu-logo-text-dark.png in GNOME Settings -> About and other places. LOGO=armbian-logo in os-release only helps apps that use the icon-spec lookup; the rest reference the filenames directly. Since we repack base-files as our own, replace the upstream files with relative symlinks pointing at the Armbian equivalents (armbian-logo.svg, armbian-logo-text.png, armbian-logo-text-dark.png) which are shipped by armbian-bsp-cli via packages/bsp/common/usr/ share/pixmaps/. Also handles debian-logo variants if present. Result: every panel that references ubuntu-logo* by filename now renders the Armbian logo without needing to know about the LOGO= os-release field. | 4 个月前 | |
fix: include board BSP files in artifact hash | 5 天前 | |
chore: update copyright years to 2026 Update all copyright notices in shell scripts from 2025 to 2026. ## Changes - **Igor Pecovnik**: 2013-2025 → 2013-2026 (129 files) - **Ricardo Pardini**: 2023-2025 → 2023-2026, 2020-2025 → 2020-2026 (5 files) ## Additional Improvements Also updated the backtitle in `lib/functions/configuration/interactive.sh`: - Changed title from "Armbian building script" to "Armbian Linux build framework" - Removed docs link for cleaner display - Uses dynamic year calculation with separate declaration (fixes shellcheck SC2155) | 8 个月前 | |
armbian-zsh: bump oh-my-zsh (was 2023-05-21) and pin evalcache The bundled oh-my-zsh was pinned to a 2023-05-21 commit — ~2.5 years of missed fixes, completions and security updates. Bump it to a current commit. Also pin evalcache to a commit instead of tracking branch:master, so the package build is reproducible instead of drifting with upstream. Signed-off-by: Igor Pecovnik <igor@armbian.com> | 14 天前 | |
chore: update copyright years to 2026 Update all copyright notices in shell scripts from 2025 to 2026. ## Changes - **Igor Pecovnik**: 2013-2025 → 2013-2026 (129 files) - **Ricardo Pardini**: 2023-2025 → 2023-2026, 2020-2025 → 2020-2026 (5 files) ## Additional Improvements Also updated the backtitle in `lib/functions/configuration/interactive.sh`: - Changed title from "Armbian building script" to "Armbian Linux build framework" - Removed docs link for cleaner display - Uses dynamic year calculation with separate declaration (fixes shellcheck SC2155) | 8 个月前 | |
chore: update copyright years to 2026 Update all copyright notices in shell scripts from 2025 to 2026. ## Changes - **Igor Pecovnik**: 2013-2025 → 2013-2026 (129 files) - **Ricardo Pardini**: 2023-2025 → 2023-2026, 2020-2025 → 2020-2026 (5 files) ## Additional Improvements Also updated the backtitle in `lib/functions/configuration/interactive.sh`: - Changed title from "Armbian building script" to "Armbian Linux build framework" - Removed docs link for cleaner display - Uses dynamic year calculation with separate declaration (fixes shellcheck SC2155) | 8 个月前 | |
chore: update copyright years to 2026 Update all copyright notices in shell scripts from 2025 to 2026. ## Changes - **Igor Pecovnik**: 2013-2025 → 2013-2026 (129 files) - **Ricardo Pardini**: 2023-2025 → 2023-2026, 2020-2025 → 2020-2026 (5 files) ## Additional Improvements Also updated the backtitle in `lib/functions/configuration/interactive.sh`: - Changed title from "Armbian building script" to "Armbian Linux build framework" - Removed docs link for cleaner display - Uses dynamic year calculation with separate declaration (fixes shellcheck SC2155) | 8 个月前 | |
kernel config hash: ignore modifications the source config already declares The kernel artifact version mixes in a hash of every config modification the hooks announce, so a build with different modifications lands on a different version. Nothing compares those announcements against the config file they are applied to: a hook that sets an option to the value the source config already carries produces a byte-identical .config, yet still moves the version and thus cuts the build off from the published kernel debs. Compare each announced `OPTION=value` against the source config text before hashing and drop the ones that match, so identical explicit settings hash identically whether they come from the config file or from a hook. Announcements are canonicalized to the CONFIG_ prefix first. scripts/config accepts an option name either way, so both spellings have to collapse to one key before the last-assignment-wins reduction; otherwise `FOO=y` overridden by a later `CONFIG_FOO=n` keeps both entries in the hash. This covers only options stated literally in one of those two places. An option that ends up enabled through a Kconfig dependency rather than a literal line still splits the version; detecting that needs `make`, which version calculation deliberately runs without. Every kernel family changes version once. Even with no extension in play, the core Armbian hooks re-announce options the config file already carries -- 237 of 334 announcements are dropped on odroidn2/edge -- so the `.config hook hash` moves everywhere. One rebuild, then versions settle. Measured on odroidn2/edge (meson64, 7.1.7) with a hook setting IP_PNP=y, TUN=y and NFS_FS=m -- the exact values already in linux-meson64-edge.config. Before: .config hook hash 1c3a9337c4583b24 without the hook, 029b15474d885e57 with it. After: 76b3aeb8f7fb12d7 in both cases. | 25 天前 | |
artifact-rootfs: surface git-log failure when computing configng hash (#9849) * artifact-rootfs: surface git-log failure when computing configng hash Original code masked git failures with `|| echo "unknown"` - the build silently fell through to a degraded cache key without telling the operator anything. A torn cache/sources/armbian-configng clone, broken HEAD, or permissions glitch was indistinguishable from a healthy "couldn't compute" state. Capture stdout+stderr from git log, branch on exit status, and display_alert the git error text when rc != 0. Still falls through to "unknown" so the build completes - this is a best-effort caching knob, not a build-blocker, and the downstream check in create-cache.sh already skips the fingerprint fold on "unknown". Scope kept exactly as before: BUILD_DESKTOP=yes only, path-filtered to tools/modules/desktops/. CLI builds don't invoke armbian-config at build time and configng content outside the desktop subtree doesn't reach the rootfs from a build-time path, so broadening the filter would only churn cache for no benefit. Comment touch-up in create-cache.sh documents that scoping for future readers. * artifact-rootfs: make configng git-log hash errexit-safe, keep SHA clean Address review on #9849: 1. Under compile.sh's `set -e`, a bare `git_out=$(git log ...)` aborts the build on the assignment itself when git fails — `git_rc=$?` and the warn/"unknown" fallback were never reached, so a torn checkout / broken HEAD / permission error hard-aborted with an opaque "Error 1" instead of degrading the cache key. Run git inside an `if cmd; then` condition, which errexit does not trip. 2. `git log` can exit 0 yet still emit stderr (hint:/advice:/fsmonitor/locale), and `2>&1` concatenated that onto the SHA — create-cache.sh folds in the first 8 chars, so polluted keys could collide or carry junk. Send stderr to a temp file instead; the SHA stays pure, and the failure path still surfaces git's message in the warn. mktemp is guarded (falls back to /dev/null) so it can't reintroduce an errexit abort, and the temp file is cleaned up. Signed-off-by: Igor Pecovnik <igor@armbian.com> --------- Signed-off-by: Igor Pecovnik <igor@armbian.com> | 1 个月前 | |
artifact-uboot: hash K3 compile_k3_bootgen/optee bodies into the version The computed u-boot artifact version did not change when the K3 first-stage build functions (compile_k3_bootgen / compile_k3_optee) were edited, so cached artifacts could survive across meaningful changes to the R5 SPL / OP-TEE build recipe. Add both functions to the list hashed into the version. calculate_hash_for_function_bodies skips functions that don't exist, so listing these K3-specific builders is a no-op for other families. Signed-off-by: Igor Pecovnik <igor@armbian.com> | 1 个月前 | |
(#9400 P1b) Replace unsafe eval with declare -g and nameref (#9461) * (#9400 P1b) cli: utils-cli: replace eval with declare -g eval "declare -g $name=\"$value\"" is equivalent to the safer declare -g "${name}=${value}" which avoids code injection risk. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * (#9400 P1b) configuration: interactive: replace eval with declare -g Two eval calls in set_interactive_config_value(): - eval "$1"='$2' → declare -g "${1}=${2}" - eval "ARMBIAN_INTERACTIVE_CONFIGS[${1}]"='$2' → direct array assignment Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * (#9400 P1b) configuration: change-tracking: replace eval with nameref The original code used eval to read an array variable with a dynamic name: eval "var_value=\"\${${var_name}[@]}\"" # sorry eval works, but it executes arbitrary code — if $var_name were ever a crafted string, it could inject commands. bash 4.3+ nameref (local -n) creates an alias to the variable named in $var_name without executing any code: local -n _ct_arr_ref="${var_name}" var_value="${_ct_arr_ref[*]}" unset -n _ct_arr_ref unset -n removes only the alias (not the referenced array), preventing "already a nameref" warnings on subsequent loop iterations. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * (#9400 P1b) artifacts-obtain: replace eval with nameref --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> | 4 个月前 | |
desktops: replace legacy config/desktop/ tree with armbian-config module_desktops Desktop builds no longer synthesise a per-DE, per-release, per-appgroup package list from config/desktop/*/environments/*/config_base/packages plus config/desktop/*/appgroups/*/packages. Instead, rootfs-create.sh calls `armbian-config --api module_desktops install de=$DESKTOP_ENVIRONMENT tier=$DESKTOP_TIER mode=build` inside the chroot, and armbian-config's YAML-driven module_desktops assembles the install from its tools/modules/desktops/yaml/*.yaml definitions at build time. * config/desktop/ tree (hundreds of config_base/packages, postinst, create_desktop_package.sh, architectures, support files) is deleted wholesale. The source of truth for desktop packages, branding, tiers, custom repos, and per-arch/per-release overrides now lives in armbian/configng under tools/modules/desktops/. * interactive_desktop_main_configuration in config-desktop.sh rewritten: clones armbian-configng to cache/sources/, runs the standalone Python parser for the DE list, shows the menu with a [CSC] marker for community-maintained DEs, collects DESKTOP_TIER (minimal / mid / full). Menu filters on the parser's --status flag: 'supported' by default, 'supported,community' under EXPERT. * rootfs-create.sh installs armbian-config via apt + runs `module_desktops install mode=build` while the Armbian apt repo is still attached, so apt.armbian.com's <release>-utils and <release>-desktop components (armbian-config itself, firefox, chromium, GNOME-branded bits) are reachable. * aggregation.py simplified: the per-appgroup fan-out is gone, so the rootfs package list no longer tries to resolve appgroup paths that don't exist anymore. * Redundant display-manager disable was in distro-agnostic.sh to work around the old post-cache DM auto-enable; module_desktops in mode=build already handles srv_disable internally. Drop the duplicate. * Misc chroot hygiene: systemd disable noise suppressed where the service never existed in the chroot; library-functions.sh regenerated to match the new loader surface. No backwards-compat yet for users passing legacy DESKTOP_ENVIRONMENT_CONFIG_NAME / DESKTOP_APPGROUPS_SELECTED — that comes in a follow-up commit in this PR. | 4 个月前 | |
chore: update copyright years to 2026 Update all copyright notices in shell scripts from 2025 to 2026. ## Changes - **Igor Pecovnik**: 2013-2025 → 2013-2026 (129 files) - **Ricardo Pardini**: 2023-2025 → 2023-2026, 2020-2025 → 2020-2026 (5 files) ## Additional Improvements Also updated the backtitle in `lib/functions/configuration/interactive.sh`: - Changed title from "Armbian building script" to "Armbian Linux build framework" - Removed docs link for cleaner display - Uses dynamic year calculation with separate declaration (fixes shellcheck SC2155) | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 5 天前 | ||
| 8 个月前 | ||
| 14 天前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 25 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 8 个月前 |