diff --git a/build b/build new file mode 100755 index 0000000..2f69899 --- /dev/null +++ b/build @@ -0,0 +1,39 @@ +#!/bin/bash + +build_pkgr() { + cd pkgr + mkdir -p dist/root/{usr/bin,etc/pkgr} + echo -e "You can't use pkgr to update pkgr because the file will be in use while updating.\nuse bootpkg" > dist/root/etc/pkgr/YOU-CAN-NOT-USE-PKGR-TO-UPDATE-PKGR.txt + + # for bin + cargo build -r + cp target/release/pkgr dist/root/usr/bin/pkgr + + # for build + mkdir -p dist/pkgr + cp -r src/ Cargo.toml dist/pkgr + cp -r ../manifest dist/manifest + cp -r ../pkgfile dist/pkgfile + + cd dist + python ../../pkg.py ../package.toml pkgr.pkg "*" + cd ../.. +} + +build_bootpkg() { + cd bootpkg + mkdir -p dist/root/usr/bin + + cargo build -r + cp target/release/bootpkg dist/root/usr/bin/bootpkg + + + cd dist + python ../../pkg.py ../package.toml bootpkg.pkg "*" + cd ../.. +} + +set -e + +build_bootpkg +build_pkgr diff --git a/build_pkg.sh b/build_pkg.sh deleted file mode 100644 index 2830ede..0000000 --- a/build_pkg.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -mkdir -p dist/root/usr/bin/ dist/root/etc/pkgr -echo "\x00" > dist/root/etc/pkgr/YOU.CAN.NOT.UPDATE.PKGR.WITH.PKGR -cd pkgr -cargo build -r -cp target/release/pkgr ../dist/root/usr/bin/pkgr -cd ../dist -python ../pkg.py ../package.toml pkgr root \ No newline at end of file diff --git a/pkg.py b/pkg.py index c0a8b85..03e20ab 100644 --- a/pkg.py +++ b/pkg.py @@ -1,3 +1,4 @@ +import glob import os import sys import tarfile @@ -6,7 +7,7 @@ import tarfile def build_package(package_toml_path, output_path, directories_to_include): data = read_package_toml(package_toml_path) header = build_header(data) - pkg_path = output_path + ".pkg" + pkg_path = output_path with open(pkg_path, mode='wb') as pkg: pkg.write(header) @@ -45,6 +46,7 @@ def add_files_to_tar(pkgtar, directory, skip_target=False): if skip_target and "target" in root: continue print(f"\33[2Kadd: {os.path.join(root, file)}", end="\r", flush=True) + # print() pkgtar.add(os.path.join(root, file)) print("\33[2K", end="\r", flush=True) @@ -66,7 +68,7 @@ if __name__ == '__main__': package_toml_path = sys.argv[1] output_path = sys.argv[2] - directories_to_include = sys.argv[3:] if len(sys.argv) > 3 else None + directories_to_include = glob.glob(sys.argv[3]) if len(sys.argv) == 4 else sys.argv[3:] try: pkg_path = build_package(package_toml_path, output_path, directories_to_include)