@@ -11,6 +11,9 @@ export OS_NAME="${OS_NAME:-linux}"
1111export OS_ARCH=$( dpkg --print-architecture)
1212export OS_FLAVOUR=" ${OS_FLAVOUR:- ${ID} -${VERSION_ID} } "
1313export TARNAME=" ${STACK_NAME} -${STACK_VERSION} -${OS_NAME} -${OS_ARCH} -${OS_FLAVOUR} "
14+ export DATA_DIR=/workspace/" ${TARNAME} " /data
15+ export META_DIR=/workspace/" ${TARNAME} " /meta
16+ export PROFILE_DIR=/workspace/" ${TARNAME} " /data/profile.d
1417
1518_is_sourced () {
1619 # https://unix.stackexchange.com/a/215279
@@ -20,20 +23,32 @@ _is_sourced() {
2023}
2124
2225function generate-stack-template() {
23- mkdir -p /workspace/" ${TARNAME} " /meta
24- mkdir -p /workspace/" ${TARNAME} " /data
26+ mkdir -p " ${META_DIR} "
27+ mkdir -p " ${DATA_DIR} "
28+ mkdir -p " ${PROFILE_DIR} "
2529 touch /workspace/" ${TARNAME} " /meta/dependencies
2630 touch /workspace/" ${TARNAME} " /meta/preinstall
2731 touch /workspace/" ${TARNAME} " /meta/postinstall
2832 chmod +x /workspace/" ${TARNAME} " /meta/preinstall /workspace/" ${TARNAME} " /meta/postinstall
2933}
3034
3135function generate-stack-package() {
32- dist_dir=" ${1:? miss dist dir} "
36+ dist_dir=" ${1:? miss dist dir} " /" ${STACK_NAME} "
37+ mkdir -p " ${dist_dir} "
3338 tar --numeric-owner -czf " ${dist_dir} " /${TARNAME} .tar.gz -C /workspace/" ${TARNAME} " . --transform=' s,^./,,'
3439 rm -rf /workspace/" ${TARNAME} "
3540}
3641
42+ function generate-stack-path() {
43+ cat << EOF > ${PROFILE_DIR} /${STACK_NAME} .sh
44+ export PATH="/opt/drycc/${STACK_NAME} /bin:\$ PATH"
45+ EOF
46+ }
47+
48+ function source-stack-path() {
49+ . " ${PROFILE_DIR} " /" ${STACK_NAME} " .sh
50+ }
51+
3752function build-stack() {
3853 generate-stack-template
3954 build
0 commit comments