ruyisdk / ruyi

RuyiSDK Package Manager
Apache License 2.0
16 stars 8 forks source link

Ruyi 0.17.0-beta.20240901 工具链调用异常 #188

Closed weilinfox closed 2 months ago

weilinfox commented 2 months ago

Ruyi 版本

0.17.0-beta.20240901

问题描述

调用工具链时打印 ruyi --help 的情形。

$ ruyi version
Ruyi 0.17.0-beta.20240901

Running on linux/x86_64.

Copyright (C) 2023 Institute of Software, Chinese Academy of Sciences (ISCAS).
All rights reserved.
License: Apache-2.0 <https://www.apache.org/licenses/LICENSE-2.0>

This version of ruyi makes use of code licensed under the Mozilla Public
License 2.0 (https://mozilla.org/MPL/2.0/). You can get the respective
project's sources from the project's official website:

* certifi: https://github.com/certifi/python-certifi

$ ruyi install gnu-plct
info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz to /home/hachi/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  238M  100  238M    0     0  10.5M      0  0:00:22  0:00:22 --:--:-- 11.0M
info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0
info: package gnu-plct-0.20240324.0 installed to /home/hachi/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0
$ ruyi venv -t gnu-plct generic test_venv
info: Creating a Ruyi virtual environment at test_venv...
info: The virtual environment is now created.

You may activate it by sourcing the appropriate activation script in the
bin directory, and deactivate by invoking `ruyi-deactivate`.

A fresh sysroot/prefix is also provisioned in the virtual environment.
It is available at the following path:

    /home/hachi/Documents/Working/ruyi-test-workspace/test_venv/sysroot

The virtual environment also comes with ready-made CMake toolchain file
and Meson cross file. Check the virtual environment root for those;
comments in the files contain usage instructions.

$ . test_venv/bin/ruyi-activate
«Ruyi test_venv» $ riscv64-plct-linux-gnu-gcc
usage: ruyi [-h] [-V] [--porcelain] {device,extract,install,i,list,news,update,venv,admin,self,version} ...

RuyiSDK Package Manager 0.17.0-beta.20240901

options:
  -h, --help            show this help message and exit
  -V, --version         Print version information
  --porcelain           Give the output in a machine-friendly format if applicable

subcommands:
  {device,extract,install,i,list,news,update,venv,admin,self,version}
    device              Manage devices
    extract             Fetch package(s) then extract to current directory
    install (i)         Install package from configured repository
    list                List available packages in configured repository
    news                List and read news items from configured repository
    update              Update RuyiSDK repo and packages
    venv                Generate a virtual environment adapted to the chosen toolchain and profile
    admin               (NOT FOR REGULAR USERS) Subcommands for managing Ruyi repos
    self                Manage this Ruyi installation
    version             Print version information
xen0n commented 2 months ago

Due to this Nuitka behavior change. Need to make it preserve original argv[0] somehow.