Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[FEA]: Instructions to compile this without docker infra

Đã đóng
#2 2 bình luận 0 reaction 1 người được giao Xem trên GitHub

@shinzburh đang làm issue này rồi.

Từ ngày 9/10/2026.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
docker, python, shell
Lĩnh vực
build-system, devops

Hướng nghiên cứu

Bắt đầu bằng cách đọc các build script phụ thuộc vào Docker của repository infra và build script của nvmesh-management được trình bày trong issue, bao gồm netinfo.spec và các lệnh Poetry. Xác định các đầu vào và đầu ra hiện có cho infra/dist cũng như cách RPM build sử dụng chúng. Hoàn thành khi một lệnh shell Linux thông thường trong infra tạo ra tất cả các tệp cần thiết trong infra/dist mà không cần Docker.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

How would you describe the priority of this feature request

Medium

Please provide a clear description of problem this feature solves

Based upon my reading of the build scripts inside the infra repo, they are heavily dependent upon docker based deployment. Our requirement is to build nvmesh-utils rpm, and we need:

  • Build infra files in infra repo
  • Copy them to rpm directory during rpm build triggered by nvmesh-management
  • Build the RPM.

There is no involvement of docker in our build system while making rpm but infra build script as far as I could understand require docker envrionment for building infra. Currently as a workaround we are using the following type of shell script to compile infra from our fork of your nvmesh-management repo:

From nvmesh-management build script:

`INFRA_REPO="../nvmesh-infra"
if [ ! -d "$INFRA_REPO" ]; then
echo "Error: nvmesh-infra repo not found at $(cd .. && pwd)/nvmesh-infra"
echo "Clone it as a sister repo before building utils RPM."
exit 1
fi
export PATH="$HOME/.local/bin:/usr/local/bin:$PATH"
INFRA_WORKDIR=$(mktemp -d)
trap "rm -rf $INFRA_WORKDIR" EXIT
echo "Building infra CLI binary..."
( cd "$INFRA_REPO"
&& INFRA_DESCRIBE=$(git describe 2>/dev/null || echo "unknown")
&& sed -i "s#^(src_version:).*#\1 "${INFRA_DESCRIBE}"#" xlro/core/config/infra_config.yaml
&& echo "Stamping infra version: ${INFRA_DESCRIBE}"
&& poetry env use python${PYTHON_MAJOR_MINOR:-3.10}
&& poetry install --sync --no-interaction --no-root
&& export PYTHONDONTWRITEBYTECODE=1
&& rm -rf dist
&& poetry run pyinstaller netinfo.spec --log-level WARN --clean --workpath="$INFRA_WORKDIR" -y
) || { echo "Error: infra build failed"; exit 1; }
mkdir -p infrastructure/dist

    # Copy the infra binaries we just built to destination folder for rpm packaging
    cp -r "$INFRA_REPO"/dist/* infrastructure/dist/`

Longer term, we would like a simple script inside infra/ repo which we can call to compile all the files in $INFRA_REPO/dist/* without all the docker environment dependencies.

Feature Description
  • As a developer trying to package infra/ files in nvmesh-utils rpm, I would like to be able to call a simple script or build command in infra/ repo to build all the files in $INFRA_REPO/dist/* folder.
  • Once above functionality is there, we can remove extra code we added in our fork of nvmesh-management to compile infra. We can simply call the infra/ build script to make $INFRA_REPO/dist/* folder. Our build script can simply cp $INFRA_REPO/dist/* to rpm folder while packaging the rpm.
  • RIght now since infra build is docker based and we are not using docker but just compiling rpms, we are having to duplicate infra build commands in nvmesh-management to compile infra dependency files.
Describe your ideal solution
  • Call a build script in infra/ from normal linux shelll to compile the files in infra/dist/*.
Describe any alternatives you have considered
  • For now we have a shell script in our nvmesh-management repo which builds infra for us.
  • During code-review, its been stated to me that its not a great idea to duplicate build scripts from infra/ repo in our nvmesh-management code. If upstream can provide a way without docker dependency to compile infra/ binaries - that would avoid us the trouble of maintaining multiple build systems in the future.
Additional context

No response

Code of Conduct
  • I agree to follow NVMesh's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request
Ngôn ngữ chính
Python
Star
12
Fork
6
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.