| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
cross-platform: Linux-format unpack/repos on host; Windows tool CMD shims - store::general_unpack_package(): Deb/Rpm/Apk (and Epkg under Unix) no longer gated on target_os=linux so native epkg can unpack Linux packages on macOS/Windows per VM/scriptlet plan. - repo::sync_from_release_metadata() and process_data(): same for Release/repomd and process_packages_content() paths. - io::load_system_repositories() and merge_channel_defaults_into_repos(): deb/rpm system sources and components merge on all targets. - scriptlets: setup_deb_env_vars(), setup_rpm_env_vars(), setup_apk_env_vars() for all targets (VM runs same maintainer environment). - install: dpkg_db generation when package_format is Deb without linux-only cfg; environment: ensure_triggers_dir() for Deb on any Unix. - epkg::unpack_package() available on all Unix (module remains cfg(unix)). - build.rs: busybox dpkg_trigger moves LINUX_ONLY -> UNIX_ONLY so activate_trigger() is linked on macOS. - main.rs: tool_wrapper always built; risks/gc stay cfg(unix). plan.rs: FilesystemInfo free_space/free_inodes cfg_attr for Windows. rpm_pkg: path normalization for permissions on non-Unix; utils::set_permissions_from_mode() used from create_tool_wrapper(). deb_triggers: cfg(unix) on ensure_triggers_dir() and activate_trigger(). ntfs_ea: allow(dead_code) on included stub. - tool_wrapper: normalize backslashes in detect_installed_tools(); Windows copies templates from assets/tool/cmd_shims/*.cmd (python/ruby/posix_shell) to {tool}.cmd using %~dp0%~n0; get_wrapper_content() falls back to shell-wrapper.sh; docs updated. Signed-off-by: Wu Fengguang <wfg@mail.ustc.edu.cn> | 4 个月前 | |
tool_wrapper: auto create tool config symlinks and fix npm/node cert issue Problem: - GOPROXY/npm mirror env vars not loaded because ~/.config/epkg/tool/ not created - Node.js HTTPS fails on Alpine with "unable to get local issuer certificate" Solution: - Call setup_tool_config_symlinks() in setup_tool_wrappers() to auto-create config - Simplify setup_tool_config_symlinks() to be idempotent and handle errors internally - Add is_symlink_to() helper to skip existing correct symlinks - Add NODE_EXTRA_CA_CERTS to npm/node/npx.yaml for Alpine SSL support - Add ca-certificates-bundle to go.sh test for HTTPS module download Signed-off-by: Wu Fengguang <wfg@mail.ustc.edu.cn> | 3 个月前 | |
tool_wrapper: move config from ~/.config/epkg to ~/.epkg/config Problem/Purpose: - Tool config at ~/.config/epkg/tool required separate virtiofs mount - ~/.epkg is already mounted in VM guest, so config under it needs no extra mount Solution: 1. Change config path from ~/.config/epkg/tool to ~/.epkg/config/tool 2. Update all wrapper scripts to use new path with EPKG_HOME support 3. Remove separate tool_config mount in libkrun/core.rs 4. Update docs and comments for new path Benefits: - Eliminates one virtiofs mount (virtiofs has limited device slots) - Config is under home_epkg which is already mounted - Simpler code, no special handling needed Files changed: - src/tool_wrapper.rs: get_tool_config_dir() path change - assets/tool/wrappers/*: config path + EPKG_HOME fallback - src/libkrun/core.rs: remove tool_config mount code - docs: update path references - src/models.rs, src/run.rs, CHANGELOG.md: comment updates Signed-off-by: Wu Fengguang <wfg@mail.ustc.edu.cn> | 3 个月前 |