| 
					
				 | 
			
			
				@@ -7,21 +7,21 @@ set -x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ## 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 OVERLAY_ROOTFS_PATH=${1:-/overlay-rootfs} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-RELEASE_VERSION=${2:-1.7.0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+RELEASE_VERSION=${2:-1.7.1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+SKAWARE_VERSION=${RELEASE_VERSION%.*}.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+outputs=( 'linux' 'portable' ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+editions=( '' 'debug' ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-outputs=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-linux 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-portable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 get_packages_with_versions_from_manifest() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   # manifest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   manifest=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # skarnet versions manifest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  # skaware versions manifest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   curl -R -L \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       -o /tmp/manifest.txt \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      https://github.com/just-containers/skaware-builder/releases/download/v$RELEASE_VERSION/$manifest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      https://github.com/just-containers/skaware-builder/releases/download/v$SKAWARE_VERSION/$manifest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   # parse manifest into s6 associative array 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   versions=() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -50,64 +50,66 @@ cd /tmp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 packages=($(get_packages_with_versions_from_manifest "manifest.txt")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 for package in "${packages[@]}"; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   file=$package-linux-amd64-bin.tar.gz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  curl -R -L -O https://github.com/just-containers/skaware-builder/releases/download/v$RELEASE_VERSION/$file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  curl -R -L -O https://github.com/just-containers/skaware-builder/releases/download/v$SKAWARE_VERSION/$file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# strace (if we want to debug) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ -n "$DEBUG" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  curl -R -L -o /tmp/strace http://landley.net/aboriginal/downloads/binaries/extras/strace-x86_64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# strace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+curl -R -L -o /tmp/strace http://landley.net/aboriginal/downloads/binaries/extras/strace-x86_64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ## 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ## OVERLAYS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ## 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-for output in "${outputs[@]}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # overlay path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  overlaypath="$OVERLAY_ROOTFS_PATH-$output" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # create overlay folder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mkdir -p $overlaypath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # copy overlay files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  cp -a $OVERLAY_ROOTFS_PATH/. $overlaypath/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # skarnet versions manifest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  packages=($(get_packages_with_versions_from_manifest "manifest-$output.txt")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # install required binaries for this concrete output 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  for package in "${packages[@]}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      tar xvfz /tmp/$package-linux-amd64-bin.tar.gz -C $overlaypath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+for output in "${outputs[@]}"; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for edition in "${editions[@]}"; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # overlay path and dist file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ "${edition}" == "debug" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      overlaysrc="$OVERLAY_ROOTFS_PATH-$output-dbg" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      overlaydst="/dist/s6-overlay-$RELEASE_VERSION-$output-dbg-amd64.tar.gz" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      overlaysrc="$OVERLAY_ROOTFS_PATH-$output" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      overlaydst="/dist/s6-overlay-$RELEASE_VERSION-$output-amd64.tar.gz" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # create overlay folder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mkdir -p $overlaysrc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # copy overlay files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cp -a $OVERLAY_ROOTFS_PATH/. $overlaysrc/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # skarnet versions manifest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    packages=($(get_packages_with_versions_from_manifest "manifest-$output.txt")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # install required binaries for this concrete output 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for package in "${packages[@]}"; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      echo "####### /tmp/$package-linux-amd64-bin.tar.gz ########" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tar xvfz /tmp/$package-linux-amd64-bin.tar.gz -C $overlaysrc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # create must exist directories 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mkdir -p $overlaysrc/etc/s6/init/env-stage2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mkdir -p $overlaysrc/etc/{cont-init.d,fix-attrs.d,services.d} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mkdir -p $overlaysrc/var/log/s6-uncaught-logs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # fix fix-attrs perms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chmod 0755 $overlaysrc/usr/bin/fix-attrs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # fix init perms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chmod 0755 $overlaysrc/init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chmod 0755 $overlaysrc/etc/s6/init/init-stage* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chmod 0755 $overlaysrc/etc/s6/service/.s6-svscan/{crash,finish} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chmod 0755 $overlaysrc/etc/s6/service/s6-fdholderd/run 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chmod 0755 $overlaysrc/etc/s6/service/s6-svscan-log/run 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # copy debugging tools & fix perms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ "${edition}" == "debug" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cp /tmp/strace $overlaysrc/usr/bin/strace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chmod 0755 $overlaysrc/usr/bin/strace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # dist! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mkdir -p /dist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tar -zcvf $overlaydst -C $overlaysrc ./ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # create must exist directories 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mkdir -p $overlaypath/etc/s6/init/env-stage2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mkdir -p $overlaypath/etc/{cont-init.d,fix-attrs.d,services.d} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mkdir -p $overlaypath/var/log/{s6-uncaught-logs,s6-fdholderd} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # copy strace & fix permissions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if [ -n "$DEBUG" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cp /tmp/strace $overlaypath/usr/bin/strace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chmod 0755 $overlaypath/usr/bin/strace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # fix fix-attrs perms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chmod 0755 $overlaypath/usr/bin/fix-attrs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # fix init perms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chmod 0755 $overlaypath/init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chmod 0755 $overlaypath/etc/s6/init/init-stage* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chmod 0755 $overlaypath/etc/s6/service/.s6-svscan/{crash,finish} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chmod 0755 $overlaypath/etc/s6/service/s6-fdholderd/run 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chmod 0755 $overlaypath/etc/s6/service/s6-svscan-log/run 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # fix log folder perms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chmod 2700 $overlaypath/var/log/{s6-uncaught-logs,s6-fdholderd} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  chown nobody:nogroup $overlaypath/var/log/{s6-uncaught-logs,s6-fdholderd} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # dist! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mkdir -p /dist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  tar -zcvf /dist/s6-overlay-$RELEASE_VERSION-$output-amd64.tar.gz -C $overlaypath ./ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 done 
			 |