Skip to content

Commit 911dcd4

Browse files
committed
adjust pkg_meta and build/pack scripts to fit new buckyos PackageMeta def
1 parent 49b0814 commit 911dcd4

4 files changed

Lines changed: 21 additions & 14 deletions

File tree

build_dapp.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
print("APP_DOC: ", app_doc);
1717
version = app_doc["version"];
1818
app_name = app_doc["pkg_name"];
19-
app_base_dir = "/opt/buckyosci/apps/"
20-
app_raw_dir = "/opt/buckyosci/app_build/"
19+
build_root_dir = os.getenv("BUCKYOS_BUILD_ROOT", "/opt/buckyosci")
20+
app_base_dir = os.path.join(build_root_dir, "apps")
21+
app_raw_dir = os.path.join(build_root_dir, "app_build")
2122
platform_name = platform.system().lower()
2223
if platform_name == "windows":
2324
sys_temp_dir = tempfile.gettempdir()
@@ -30,9 +31,10 @@
3031

3132
def process_pkg_meta(pkg_meta_path,new_path,pkg_name):
3233
pkg_meta = json.load(open(pkg_meta_path));
33-
pkg_meta["pub_time"] = int(time.time())
34+
pkg_meta["create_time"] = int(time.time())
35+
pkg_meta["last_update_time"] = pkg_meta["create_time"]
3436
pkg_meta["exp"] = int(time.time()) + 3600 * 24 * 365 * 3
35-
pkg_meta["pkg_name"] = pkg_name
37+
pkg_meta["name"] = pkg_name
3638
json.dump(pkg_meta, open(new_path, "w"));
3739
return pkg_meta;
3840

@@ -73,7 +75,10 @@ def build_app(os_name, arch_name):
7375
pkg_meta = process_pkg_meta("./publish/docker_pkg_meta.json", f"{sub_pkg_dir}/pkg_meta.json", pkg_id);
7476
pkg_version = pkg_meta["version"];
7577
image_name = f"{docker_username}/nightly-{app_name}:{pkg_version}-{arch_name}"
76-
result = subprocess.run(["docker", "buildx", "build", "--platform", f"linux/{arch_name}", "-t", image_name, "-f",docker_file,"."])
78+
# 加--load参数以便在本地加载镜像, 后续可以save
79+
cmd = ["docker", "buildx", "build", "--load", "--platform", f"linux/{arch_name}", "-t", image_name, "-f",docker_file,"."]
80+
print("Running command: ", " ".join(cmd))
81+
result = subprocess.run(cmd)
7782
if result.returncode != 0:
7883
print(f"Docker构建失败: {os_name}-{arch_name}")
7984
sys.exit(1)
@@ -151,7 +156,7 @@ def main():
151156

152157
app_doc["pub_time"] = int(time.time())
153158
app_doc["exp"] = int(time.time()) + 3600 * 24 * 365 * 3
154-
json.dump(app_doc, open(f"{output_dir}/app.doc.json", "w"));
159+
json.dump(app_doc, open(f"{output_dir}/{app_name}.doc.json", "w"));
155160
print(f"packed app_doc: {app_doc}");
156161
print("\n--------------------------------");
157162
print("^ ^ all build done ^ ^, output dir: ", output_dir);

pack_dapp.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
print("APP_DOC: ", app_doc);
1616
version = app_doc["version"];
1717
app_name = app_doc["pkg_name"];
18-
app_base_dir = "/opt/buckyosci/apps/"
19-
app_raw_dir = "/opt/buckyosci/app_build/"
18+
build_root_dir = os.getenv("BUCKYOS_BUILD_ROOT", "/opt/buckyosci")
19+
app_base_dir = os.path.join(build_root_dir, "apps")
20+
app_raw_dir = os.path.join(build_root_dir, "app_build")
2021
build_target_dir = os.path.join(app_raw_dir, app_name, version);
2122
app_pkg_dir = os.path.join(app_base_dir, app_name, version);
2223

23-
buckycli_path = os.path.join("/opt/buckyos/bin/buckycli", "buckycli")
24-
if platform.system() == "Windows":
25-
buckycli_path += ".exe"
24+
# 如果有定义BUCKYCLI_PATH环境变量,就使用这个变量作为CLI的执行文件, 否则默认在linux下,使用默认路径
25+
buckycli_path = os.getenv("BUCKYCLI_PATH", "/opt/buckyos/bin/buckycli/buckycli")
2626

2727
def get_default_pkg_dir():
2828
return app_pkg_dir;
@@ -50,7 +50,7 @@ def pack_packages(input_dir, target_dir):
5050
try:
5151
with open(meta_file, 'r') as f:
5252
meta_data = json.load(f)
53-
if "pkg_name" not in meta_data or "version" not in meta_data:
53+
if "name" not in meta_data or "version" not in meta_data:
5454
print(f"跳过 {pkg_path}: pkg_meta.json 缺少必要字段")
5555
continue
5656

publish/app_pkg/pkg_meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
2-
"pkg_name": "buckyos_filebrowser-app",
2+
"name": "buckyos_filebrowser-app",
33
"version": "0.5.1",
44
"author": "did:web:buckyos.ai",
5+
"owner": "did:web:buckyos.ai",
56
"description": {
67
"detail": "buckyos file browser system app"
78
},

publish/docker_pkg_meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
2-
"pkg_name": "buckyos_filebrowser-img",
2+
"name": "buckyos_filebrowser-img",
33
"version": "0.5.1",
44
"author": "did:web:buckyos.ai",
5+
"owner": "did:web:buckyos.ai",
56
"description": {
67
"detail": "buckyos file browser docker image"
78
},

0 commit comments

Comments
 (0)