[FEA]: Instructions to compile this without docker infra
@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ệ
- 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
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
lidofinance/diffyscan#239 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs: the dev-setup table and AGENTS.md name the reviewed_by guard that CI's Changelog job runsĐang mởarea: tools documentation good first issue ready for a contributor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
eyalgolan/statecraft-israel#873 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
GET rooms API returns 500 due to nonexistent Room.is_active attributeCó thể đã có người làm @Mars-60 đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Add cover art to song rowsĐang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 5 ngày
-
Harmony OPeNDAP SubSetter (HOSS) Geographic production rssmif16d 7 XYZ_PROV
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
nasa/harmony-autotester#341 ·