mirror of
				https://github.com/edera-dev/krata.git
				synced 2025-11-03 23:29:39 +00:00 
			
		
		
		
	krata: rewrite all repo infrastructure
This commit is contained in:
		
							
								
								
									
										46
									
								
								scripts/dist/bundle.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								scripts/dist/bundle.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@ -0,0 +1,46 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# shellcheck source=common.sh
 | 
			
		||||
. "$(dirname "${0}")/common.sh"
 | 
			
		||||
 | 
			
		||||
if [ -z "${KRATA_KERNEL_BUILD_JOBS}" ]
 | 
			
		||||
then
 | 
			
		||||
  KRATA_KERNEL_BUILD_JOBS="2"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
BUNDLE_TAR="${OUTPUT_DIR}/bundle.tgz"
 | 
			
		||||
rm -f "${BUNDLE_TAR}"
 | 
			
		||||
BUNDLE_DIR="$(mktemp -d /tmp/krata-bundle.XXXXXXXXXXXXX)"
 | 
			
		||||
BUNDLE_DIR="${BUNDLE_DIR}/krata"
 | 
			
		||||
mkdir -p "${BUNDLE_DIR}"
 | 
			
		||||
for X in kratad kratanet kratactl
 | 
			
		||||
do
 | 
			
		||||
  ./scripts/build/cargo.sh build --release --bin "${X}"
 | 
			
		||||
  RUST_TARGET="$(./scripts/build/target.sh)"
 | 
			
		||||
  cp "${KRATA_DIR}/target/${RUST_TARGET}/release/${X}" "${BUNDLE_DIR}/${X}"
 | 
			
		||||
done
 | 
			
		||||
./scripts/initrd/build.sh
 | 
			
		||||
if [ "${KRATA_BUNDLE_SKIP_KERNEL_BUILD}" != "1" ]
 | 
			
		||||
then
 | 
			
		||||
  ./scripts/kernel/build.sh "-j${KRATA_KERNEL_BUILD_JOBS}"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cd "${BUNDLE_DIR}"
 | 
			
		||||
 | 
			
		||||
cp "${KRATA_DIR}/target/initrd/initrd" initrd
 | 
			
		||||
cp "${KRATA_DIR}/target/kernel/kernel" kernel
 | 
			
		||||
cp "${KRATA_DIR}/resources/systemd/kratad.service" kratad.service
 | 
			
		||||
cp "${KRATA_DIR}/resources/systemd/kratanet.service" kratanet.service
 | 
			
		||||
cp "${KRATA_DIR}/resources/bundle/install.sh" install.sh
 | 
			
		||||
cp "${KRATA_DIR}/resources/bundle/uninstall.sh" uninstall.sh
 | 
			
		||||
 | 
			
		||||
for X in install.sh uninstall.sh kratactl kratad kratanet
 | 
			
		||||
do
 | 
			
		||||
  chmod +x "${X}"
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
cd ..
 | 
			
		||||
tar czf "${BUNDLE_TAR}" .
 | 
			
		||||
cd "${KRATA_DIR}"
 | 
			
		||||
rm -rf "$(dirname "${BUNDLE_DIR}")"
 | 
			
		||||
							
								
								
									
										8
									
								
								scripts/dist/common.sh
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								scripts/dist/common.sh
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
REAL_SCRIPT="$(realpath "${0}")"
 | 
			
		||||
cd "$(dirname "${REAL_SCRIPT}")/../.."
 | 
			
		||||
KRATA_DIR="${PWD}"
 | 
			
		||||
OUTPUT_DIR="${KRATA_DIR}/target/dist"
 | 
			
		||||
mkdir -p "${OUTPUT_DIR}"
 | 
			
		||||
							
								
								
									
										30
									
								
								scripts/dist/deb.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								scripts/dist/deb.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# shellcheck source=common.sh
 | 
			
		||||
. "$(dirname "${0}")/common.sh"
 | 
			
		||||
 | 
			
		||||
"${KRATA_DIR}/scripts/dist/systar.sh"
 | 
			
		||||
 | 
			
		||||
KRATA_VERSION="$("${KRATA_DIR}/scripts/dist/version.sh")"
 | 
			
		||||
TARGET_ARCH="$(KRATA_ARCH_ALT_NAME=1 "${KRATA_DIR}/scripts/build/arch.sh")"
 | 
			
		||||
 | 
			
		||||
cd "${OUTPUT_DIR}"
 | 
			
		||||
 | 
			
		||||
rm -f "krata_${KRATA_VERSION}_${TARGET_ARCH}.deb"
 | 
			
		||||
 | 
			
		||||
fpm -s tar -t deb \
 | 
			
		||||
  --name krata \
 | 
			
		||||
  --license agpl3 \
 | 
			
		||||
  --version "${KRATA_VERSION}" \
 | 
			
		||||
  --architecture "${TARGET_ARCH}" \
 | 
			
		||||
  --depends "xen-system-${TARGET_ARCH}" \
 | 
			
		||||
  --description "Krata Hypervisor" \
 | 
			
		||||
  --url "https://krata.dev" \
 | 
			
		||||
  --maintainer "Edera Team <contact@edera.dev>" \
 | 
			
		||||
  -x "usr/lib/**" \
 | 
			
		||||
  --deb-systemd "${KRATA_DIR}/resources/systemd/kratad.service" \
 | 
			
		||||
  --deb-systemd "${KRATA_DIR}/resources/systemd/kratanet.service" \
 | 
			
		||||
  --deb-systemd-enable \
 | 
			
		||||
  --deb-systemd-auto-start \
 | 
			
		||||
  "${OUTPUT_DIR}/system.tgz"
 | 
			
		||||
							
								
								
									
										31
									
								
								scripts/dist/systar.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								scripts/dist/systar.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@ -0,0 +1,31 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# shellcheck source=common.sh
 | 
			
		||||
. "$(dirname "${0}")/common.sh"
 | 
			
		||||
 | 
			
		||||
"${KRATA_DIR}/scripts/dist/bundle.sh"
 | 
			
		||||
 | 
			
		||||
SYSTAR="${OUTPUT_DIR}/system.tgz"
 | 
			
		||||
rm -f "${SYSTAR}"
 | 
			
		||||
SYSTAR_DIR="$(mktemp -d /tmp/krata-systar.XXXXXXXXXXXXX)"
 | 
			
		||||
cd "${SYSTAR_DIR}"
 | 
			
		||||
tar xf "${OUTPUT_DIR}/bundle.tgz"
 | 
			
		||||
 | 
			
		||||
mkdir sys
 | 
			
		||||
cd sys
 | 
			
		||||
 | 
			
		||||
mkdir -p usr/bin usr/libexec
 | 
			
		||||
mv ../krata/kratactl usr/bin
 | 
			
		||||
mv ../krata/kratanet ../krata/kratad usr/libexec/
 | 
			
		||||
 | 
			
		||||
mkdir -p usr/lib/systemd/system
 | 
			
		||||
mv ../krata/kratad.service ../krata/kratanet.service usr/lib/systemd/system/
 | 
			
		||||
 | 
			
		||||
mkdir -p usr/share/krata/guest
 | 
			
		||||
mv ../krata/kernel ../krata/initrd usr/share/krata/guest
 | 
			
		||||
 | 
			
		||||
tar czf "${SYSTAR}" --owner 0 --group 0 .
 | 
			
		||||
 | 
			
		||||
cd "${KRATA_DIR}"
 | 
			
		||||
rm -rf "${SYSTAR_DIR}"
 | 
			
		||||
							
								
								
									
										15
									
								
								scripts/dist/version.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								scripts/dist/version.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# shellcheck source=common.sh
 | 
			
		||||
. "$(dirname "${0}")/common.sh"
 | 
			
		||||
cd "${KRATA_DIR}"
 | 
			
		||||
 | 
			
		||||
KRATA_VERSION="$(grep -A1 -F '[workspace.package]' Cargo.toml | grep 'version' | awk '{print $3}' | sed 's/"//g')"
 | 
			
		||||
if [ -z "${KRATA_VERSION}" ]
 | 
			
		||||
then
 | 
			
		||||
  echo "ERROR: failed to determine krata version" > /dev/stderr
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "${KRATA_VERSION}"
 | 
			
		||||
		Reference in New Issue
	
	Block a user