mirror of
https://github.com/truenas/scale-build.git
synced 2025-12-19 18:39:15 +00:00
NAS-137581 / 26.04 / fix building on trixie (#929)
* fix building on trixie * fix inconsistencies in pyproject.toml * fix manifest.yml * remove hard-coded debian version from readme
This commit is contained in:
6
.github/workflows/manifest.yml
vendored
6
.github/workflows/manifest.yml
vendored
@@ -8,11 +8,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.10
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Python 3.13
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
python-version: '3.13'
|
||||
- name: Validating manifest
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
|
||||
4
MANIFEST.in
Normal file
4
MANIFEST.in
Normal file
@@ -0,0 +1,4 @@
|
||||
include scripts/parse_deps.pl
|
||||
include README.md
|
||||
include LICENSE
|
||||
include requirements.txt
|
||||
2
Makefile
2
Makefile
@@ -18,7 +18,7 @@ ifneq ($(REPO_CHANGED),0)
|
||||
@${PYTHON} -m venv venv-${COMMIT_HASH} || { echo "Failed to create virutal environment"; exit 1; }
|
||||
@{ . ./venv-${COMMIT_HASH}/bin/activate && \
|
||||
python3 -m pip install -r requirements.txt >/dev/null 2>&1 && \
|
||||
python3 setup.py install >/dev/null 2>&1; } || { echo "Failed to install scale-build"; exit 1; }
|
||||
python3 -m pip install . >/dev/null 2>&1; } || { echo "Failed to install scale-build"; exit 1; }
|
||||
endif
|
||||
|
||||
all: checkout packages update iso
|
||||
|
||||
@@ -12,7 +12,8 @@ Found an issue in the build for SCALE? Please report it on our [Jira bugtracker]
|
||||
|
||||
## Requirements
|
||||
|
||||
- Debian 10 or later (VM or Bare-Metal)
|
||||
- Supported version of Debian
|
||||
- Python 3.11 or later
|
||||
- 20GB of RAM
|
||||
- At least 15GB of free disk space
|
||||
|
||||
@@ -33,6 +34,8 @@ In addition to the host, you will want to pre-install the following packages:
|
||||
|
||||
## Usage
|
||||
|
||||
The build system automatically manages a Python virtual environment to ensure build consistency. It detects changes in the git repository hash and automatically recreates the virtual environment when needed, ensuring that the build tools are always in sync with the current codebase.
|
||||
|
||||
After the pre-requistes are installed, simply run "make" (as root or sudo) to perform a complete build which performs the following steps:
|
||||
|
||||
``` make checkout ```
|
||||
|
||||
27
pyproject.toml
Normal file
27
pyproject.toml
Normal file
@@ -0,0 +1,27 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=61.0", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "scale_build"
|
||||
description = "A build framework for TrueNAS SCALE"
|
||||
readme = "README.md"
|
||||
license = {text = "GPL-3.0"}
|
||||
requires-python = ">=3.11"
|
||||
dynamic = ["version"]
|
||||
dependencies = [
|
||||
"coloredlogs",
|
||||
"toposort",
|
||||
"requests",
|
||||
"pyyaml",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
scale_build = "scale_build.main:main"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["."]
|
||||
include = ["scale_build*", "truenas_install*"]
|
||||
|
||||
[tool.setuptools]
|
||||
include-package-data = true
|
||||
@@ -1,2 +1,6 @@
|
||||
[flake8]
|
||||
max-line-length=120
|
||||
|
||||
[options]
|
||||
scripts =
|
||||
scripts/parse_deps.pl
|
||||
24
setup.py
24
setup.py
@@ -1,24 +0,0 @@
|
||||
from setuptools import find_packages, setup
|
||||
|
||||
setup(
|
||||
name='scale_build',
|
||||
description='A build framework for TrueNAS SCALE',
|
||||
packages=find_packages(),
|
||||
include_package_data=True,
|
||||
license='BSD',
|
||||
platforms='any',
|
||||
install_requires=[
|
||||
'coloredlogs',
|
||||
'toposort',
|
||||
'requests',
|
||||
'pyyaml'
|
||||
],
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'scale_build = scale_build.main:main',
|
||||
],
|
||||
},
|
||||
scripts=[
|
||||
'scripts/parse_deps.pl',
|
||||
]
|
||||
)
|
||||
Reference in New Issue
Block a user